what is the mistake i am doing here? i have to plot the three equations f,f1,f2
2 次查看(过去 30 天)
显示 更早的评论
clc
clear all
syms x y z l1 l2 S1 S2 S3
f=2*x+4*y+z^2;
f1=y^2+z^2-1;
f2=x^2+z^2-1;
F=f+l1*f1+l2*f2;
dfx=diff(F,x);
dfy=diff(F,y);
dfz=diff(F,z);
[l1,l2,xc,yc,zc]=solve(f1,f2,dfx,dfy,dfz,'Real',true);
disp("Critical points are: ")
disp([xc,yc,zc])
disp('l1 and l2 are:')
disp([l1,l2])
a=size([xc,yc,zc]);
b=size([l1,l2]);
xc1=max(xc);
yc1=max(yc);
zc1=max(zc);
xc2=min(xc);
yc2=min(yc);
zc2=min(zc);
P=subs(F,{x,y,z},{xc1,yc1,zc1});
disp('maximum value is:')
disp(P)
Q=subs(F,{x,y,z},{xc1,yc1,zc1});
disp('minimum value is:')
disp(Q)
eqs = [f,f1,f2];
[S1,S2,S3]=solve(eqs,[S1,S2,S3]);
S1=double(S1);
S2=double(S2);
S3=double(S3);
plot3(f,f1,f2,{S1,S2,S3}) ;
grid on
xlabel('x-axis')
ylabel('y-axis')
zlabel('z-axis')
error:
Error using plot3
Data must be numeric, datetime, duration or an array convertible to double.
Error in ass3q2 (line 35)
plot3(f,f1,f2,{S1,S2,S3}) ;
0 个评论
回答(1 个)
Drishan Poovaya
2021-11-23
Hi,
It appears you are trying to plot symbolic functions. This is not what plot3 is designed to do, it can only plot numerical values. plot3(x,y,z) requires 3 equal lenght vectors where each triplet [ x(i) y(i) z(i) ] represents a point on the plot.
In order to plot symbolic functions I would suggest you read the following documentation for fplot and fsurf
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!