作业帮 > 综合 > 作业

用ezplot函数在matlab中绘制图形

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 01:28:53
用ezplot函数在matlab中绘制图形
我想绘制一个以(0 5 5)和(0 -20000 20000)为焦点的椭球被X-Y平面所截的椭圆.程序如下:
R=[0 5 5];
T=[0 -20000 20000];
syms x y
l=norm(R)+norm(T);
l=l+50;
ezplot('((x^2+(y-R(2))^2+R(3)^2))^2+((x^2+(y-T(2))^2+T(3)^2))^2-l^2 ');
hold on
运行后错误如下:
? Error using ==> inlineeval at 15
Error in inline expression ==> ((x.^2+(y-R(2)).^2+R(3).^2)).^2+((x.^2+(y-T(2)).^2+T(3).^2)).^2-l.^2
Undefined function or method 'R' for input arguments of type 'double'.
Error in ==> inline.feval at 36
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);
Error in ==> ezplotfeval at 54
z = feval(f,x(1),y(1));
Error in ==> ezplot>ezimplicit at 258
u = ezplotfeval(f, X, Y);
Error in ==> ezplot at 155
hp = ezimplicit(cax, f{1}, vars, labels, args{:});
Error in ==> Delay at 12
ezplot('((x^2+(y-R(2))^2+R(3)^2))^2+((x^2+(y-T(2))^2+T(3)^2))^2-l^2 ');
特别不明白.望能有大神前来指导~叩谢~
我想画多个同心椭圆,算式中那些系数需要变化,所以用想用参数代替,但是貌似ezplot不支持含参方程.有没有其他办法?
貌似ezplot不支持调用变量,R(2),R(3).这些东西导致了错误.
再问: 我想画多个同心椭圆,中间那些参数需要变化,只用数字每次都要自己敲,太麻烦了。有没有其他办法?
再答: 哎,给你试了一下,用inline函数可以。 举个例子: 1)原来 r = 10; ezplot('x^2+y^2-r^2',[-10 10 -10 10]); 这个是错误的,出不来; 2)修改 r = 10; h = @(x,y)x^2+y^2-r^2; ezplot(h,[-10 10 -10 10]); 这样就OK了,记得后面那个区间设置一下,因为ezplot默认是[-2*pi 2*pi],数字大了,啥都看不到。 另:感觉解决问题,求加分,5分很可怜