首先,我需要声明我并不是一个数学爱好者或狂热的 Matlab 用户。这是我过去 3 个小时一直在尝试解决的大学作业,但没有成功。我疯狂地用谷歌搜索,甚至通过 Facebook 寻求帮助(我得到了回复,但没有解决我的问题)。
这是我第一次使用这个软件,我需要快速绘制一些东西。但无论我读了多少书,我都会不断收到语法错误等。
基本上,我有这个等式:
4*x^2 + y^2 + z^2 - 8*x + 2*y + 3 = 0
我正在尝试绘制它/绘制它。我认为这会非常简单,但我在做这件事时遇到了问题。
谷歌搜索向我展示了函数 ezplot() 和 ezsurf(),但是:
当我执行 ezplot('4*x^2 + y^2 + z^2 - 8*x + 2*y + 3') 时,出现以下错误:
??? Error using ==> char
Cell elements must be character arrays.
Error in ==> ezplot at 158
fmsg = char(f);
当我做 ezsurf('4*x^2 + y^2 + z^2 - 8*x + 2*y + 3')
The expression 4*x^2 + y^2 + z^2 - 8*x + 2*y + 3 must only have 2 symbolic variables
Error in ==> ezgraph3>surfplot at 526
[F,var] = ezfixfun(F,fargs,flabel);
Error in ==> ezgraph3 at 49
[dummy,h] = surfplot(f,domain,surfstyle,cax,Npts,fixdomain,flabel,fargs);
Error in ==> ezsurf at 65
h = ezgraph3('surf',args{:});
同样,这真的是我第一次使用这个软件。老师没有给我们任何解释,所以我不知道这些错误应该是什么意思,更不用说解决它们了。我不知道我在做什么或我应该做什么。
我尝试使用solve()首先求解'z',然后绘制我得到的两个结果。
s = solve('4*x^2 + y^2 + z^2 - 8*x + 2*y + 3', 'z')
s =
-(- 4*x^2 + 8*x - y^2 - 2*y - 3)^(1/2)
(- 4*x^2 + 8*x - y^2 - 2*y - 3)^(1/2)
但这也行不通。当我使用 ezplot() 时,它告诉我使用 ezsurf,而当我使用 ezsurf() 时,它告诉我一个我从未声明过的变量“h”:
>> ezsurf('-(- 4*x^2 + 8*x - y^2 - 2*y - 3)^(1/2)', '(- 4*x^2 + 8*x - y^2 - 2*y - 3)^(1/2)')
??? Undefined function or variable "h".
Error in ==> ezgraph3 at 66
hh = h;
Error in ==> ezsurf at 65
h = ezgraph3('surf',args{:});
任何帮助绘图将不胜感激。我的脑袋要爆炸了,因为人们一直告诉我这应该很简单。
谢谢!