还是隐函数画图问题
原程序如下:c1=a2*b1-a1*b2;
c2=a2*b1-2*a1*b2;
c3=si.*a2^2*f_vide.^2;
d1=f_vide^2-f0.^2;
d2=sqrt(b1^2*d1^2+4*si*f_vide^2*(c3-c2*d1));
ro_fluid= 2*h*ro*(c2*d1-2*c3+a2*d2)/(pi*b*f0^2*a1*c1);
derive_ro_fluid_f0=diff(log_ro_fluid,f0);
derive_ro_fluid_si=diff(log_ro_fluid,si);
derive_ro_fluid_h=diff(log_ro_fluid,h);
derive_ro_fluid_b=diff(log_ro_fluid,b);
derive_ro_fluid_L=diff(log_ro_fluid,L);
figure(1)
ezplot(derive_ro_fluid_f0)
想用ezplot 分别显示这五个变量 f0 si h b L 对 ro_fluid 的偏导数。但如果用ezplot(derive_ro_fluid_f0) 出现如下错误:
??? Error using ==> char
Cell elements must be character arrays.
Error in ==> C:\MATLAB6p5\toolbox\matlab\specgraph\ezplot.m
On line 138==> fmsg = char(f);
Error in ==> C:\MATLAB6p5\toolbox\symbolic\@sym\ezplot.m
On line 47==> ezplot(f.s);
Error in ==> C:\Documents and Settings\stagiaire\Bureau\simulation\sensibilite.m
On line 58==> ezplot(derive_ro_fluid_f0)
当我 用 ezplot(‘derive_ro_fluid_f0’) 时 不报错,出图了 ,但是 对于五个变量的偏导数,出来的图是完全一样的,不知道是为什么。还请遇到过这种情况的朋友帮忙解释下。谢谢了
我看了 这里的隐函数总结帖,可是还是不能实现,还希望主人来帮帮忙。
[ 本帖最后由 ChaChing 于 2009-6-22 23:10 编辑 ] 你给的程序运行不了
没有定义 我是直接这样定义的syms h b L f0 si a1 a2 b1 b2 F ro E f_vide;
其中 a1 a2 b1 b2 F ro E f_vide 都是已知常数。
由于最后要得到公式,所以就也用 syms 定义了
现在 算上所要求 变量ro_fluid和 f0 ,si 一共3个变量,应该画一个三维图来显示三者关系。不能像我上面用的ezplot
(可以的话请使用编辑一帖发完 - by ChaChing!)
[ 本帖最后由 ChaChing 于 2009-3-18 21:41 编辑 ]
页:
[1]