hanihaoma 发表于 2009-3-10 22:33

怎样 plot 偏导数图像

举例说明, 程序如下:
global a; global b; global c
d= a^2+2b+c^3;
derive_a=diff(d,a);derive_b=diff(d,b);derive_c=diff(d,c);
figure(1);   plot(a,d,'r')

这样plot 什么都不显示,请问有类似情况的朋友可以帮下忙吗?谢谢啦。

[ 本帖最后由 ChaChing 于 2009-3-12 08:15 编辑 ]

ChaChing 发表于 2009-3-11 08:32

先看下本版规则!

yufeng 发表于 2009-3-11 09:28

你的偏导方程是什么

hanihaoma 发表于 2009-3-11 16:41

偏导方程,就和上面的类似啊。

ydlcsu 发表于 2009-3-11 17:08

去看看符号计算工具箱吧,保证可以找到你需要的

hanihaoma 发表于 2009-3-11 21:00

符号计算工具箱,在哪里看啊?谢谢
看了规则了,但还是不知道违反了哪条。:@(

[ 本帖最后由 ChaChing 于 2009-6-22 23:09 编辑 ]

ChaChing 发表于 2009-3-11 21:26

回复 7楼 hanihaoma 的帖子

出错提示?:@)

hanihaoma 发表于 2009-3-11 21:35

clear all; close all;clc
global a;global b;global c
d= a^2+2*b+c^3;
derive_a=diff(d,a);   derive_b=diff(d,b);   derive_c=diff(d,c);
figure(1);plot(a,d,'r')

重新写 了下, 没有错误啊,就是plot 不出图。程序本人没有报错。:@Q

[ 本帖最后由 ChaChing 于 2009-3-12 08:57 编辑 ]

无水1324 发表于 2009-3-11 22:26

a, b,c 是什么?
你这样求导之后是一个空的阵,是不是求偏导搞错了?并没有定义符号?

[ 本帖最后由 无水1324 于 2009-3-11 22:29 编辑 ]

hanihaoma 发表于 2009-3-11 22:38

a b c 就是任意变量啊, 但是我要是a=linspace(1,10000,10000);
                                                               b=linspace(1,10000,10000);
                                                               c=linspace(1,10000,10000);这样定义变量
程序就报错了
??? Error using ==> diff
Difference order N must be a positive integer scalar.

Error in ==> c:\documents and settings\stagiaire\bureau\wijiz.m
On line 9==>   derive_a=diff(d,a);

ChaChing 发表于 2009-3-12 09:02

或许1F的程序打错了, 但的确有报错!
除了出错代码和出错提示外, 看了那麽久, 还是不确定楼主要的!?
如无水点出的, plot(a,d,'r')画什...? 可能个人水平有限吧

看看以下是否LZ要的
syms a b c
d=a^2+2*b+c^3;
derive_a=diff(d,a); derive_b=diff(d,b); derive_c=diff(d,c);
figure; ezplot(derive_a); figure; ezplot(derive_b); figure; ezplot(derive_c);

hanihaoma 发表于 2009-3-12 20:56

:@)问题描述的可能不太清楚,但就是变量定义的问题,如果 abc 要是没有定义的话,直接用plot 不出图,但是用
ezplot 就可以搞定了。 谢。问题解决。答案看楼上。

hanihaoma 发表于 2009-3-12 21:10

晕又出问题了。??? 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 50==>            ezplot(derive_ro_fluid_f0)

如果需要源程序,我可以附上来。这个错误,是怎么回事啊?怎么还牵扯到 ezplot,m 内部了。

[ 本帖最后由 ChaChing 于 2009-3-12 22:26 编辑 ]

ydlcsu 发表于 2009-3-12 21:27

lz很明显不知道符号计算和数值计算的区别

hanihaoma 发表于 2009-3-12 22:19

:@D是不清楚,还请指教。

我这个问题,大概弄清楚了,应该是 隐函数画图问题。 我用的是 matlab 6.5我的公式里 ,用syms 定义了五个变量。
用 ezplot 报错,错误在15楼。还请主任来帮忙看下。

[ 本帖最后由 ChaChing 于 2009-3-12 22:30 编辑 ]
页: [1]
查看完整版本: 怎样 plot 偏导数图像