Octave 初始化bim的问题';这是一个八度音阶的现成例子

Octave 初始化bim的问题';这是一个八度音阶的现成例子,octave,octave-gui,Octave,Octave Gui,在作业中,他们给了我一个本文中的逐步示例 这个例子是手动输入的,没有复制粘贴。我已经安装了这个软件包-fpl,bim,msh,image。 倍频程示例: pkg load bim pkg load msh pkg load fpl [mesh]=msh2m_gmsh("fuime","scale",1,"clscale",.1); – Error [mesh]=bim2c_mesh_properties(mesh); pdemes

在作业中,他们给了我一个本文中的逐步示例

这个例子是手动输入的,没有复制粘贴。我已经安装了这个软件包-fpl,bim,msh,image。 倍频程示例:

pkg load bim
pkg load msh
pkg load fpl


[mesh]=msh2m_gmsh("fuime","scale",1,"clscale",.1); – Error
[mesh]=bim2c_mesh_properties(mesh);

pdemesh(mesh.p,mesh.e,mesh.t);
view(2)

xu=mesh.p(1,:).';
yu=mesh.p(2,:).';

nelems=columns(mesh.t);
nnodes=columns(mesh.p);

epsilon=.1;
phi=xu+yu;

AdvDiff=bim2a_advaction_diffusion(mesh,epsilon,1,1,phi);
Mass=bim2a_reaction(mesh,1,1);
b=bim2a_rhs(mesh,f,g);
A=AdvDiff+Mass;

GammaD=bim2c_unknowns_on_side(mesh,[1 2]);
GammaN=bim2c_unknowns_on_side(mesh,[3 4]);
GammaN=setdiff(GammaN,GammaD);

jn=zeros(length(GammaN),1);
ud=3*xu;
Omega=setdiff(1:nnodes,union(GammaD,GammaN));

Add=A(GammaD,GammaD);
Adn=A(GammaD,GammaN);
Adi=A(GammaD,Omega);

And=A(GammaN,GammaD);
Ann=A(GammaN,GammaN);
Ani=A(GammaN,Omega);

Aid=A(Omega,GammaD);
Ain=A(Omega,GammaN);
Aii=A(Omega,Omega);

bd=b(GammaD);
bn=b(GammaN);
bi=b(Omega);

temp=[Ann Ani;Ain Aii]\[jn+bn-And*ud(GammaD); bi-Aid*ud(GammaD)];
u=ud;
u(GammaN)=temp(1:numel(GammaN));
u(Omega)=temp(length(GammaN)+1:end);

jd=[Add Adi Adn]*u([GammaD;Omega;GammaN])-bd;

[gx,gy]=bim2c_pde_gradient(mesh,u);
[jxglob,jyglob]=bim2c_global_flux(mesh,u,epsilon*ones(nelems,1),ones(nnodes,1),ones(nnodes,1),phi);

fpl_vtk_write_field("vtkdata",mesh,{u,"Solution"},{[gx:gy]',"Gradient"},1);
pdesurf(mesh.p,mesh.t,u);
在此-
[mesh]=msh2m_gmsh(“fuime”、“scale”、1、“clscale”、.1)错误

Generating mesh...
error: 'tmpnam' undefined near line 78, column 78
error: called from
    msh2m_gmsh at line 78 column 12
>>
我采取了哪些措施来修复错误

我认为问题出在卸载的软件包中。 根据这条线索给我的答案

我开始安装mesh软件包,但这里出现了另一个错误

error: get_forge_pkg: package not found: "mesh".  Maybe you meant "lssa?"
error: called from
    get_forge_pkg at line 90 column 5
    get_forge_download at line 32 column 14
    pkg at line 500 column 31
但找不到mesh包。包msh已安装。
如何解决我的问题?

没有深入检查,只是指出
tmpnam
是为临时文件创建文件名的旧命令。这是特定于倍频程的,后来更改为
tempname
,以便与matlab中引入的等效函数兼容。如果幸运的话,您可以在包的代码中将
tmpnam
替换为
tempname
,就这样。。。(虽然如果包真的那么旧,可能会有更多的问题……)此外,bim包似乎期望有一个linux环境,因为它在引擎盖下调用系统函数。它似乎还希望在系统上安装
gmsh
linux软件包(不是octave软件包)。我尝试运行您的示例,但它似乎在创建一个包含0个节点的网格后结束。不确定这是否与您如何称呼这一点有关。