matlab中求解完方程组后怎样做三维图?

matlab中求解完方程组后怎样做三维图?,第1张

kc=12; %定值
b=5;%定值
k1=@(x,a,af) x(1)cosd(af)cosd(af)(pia)^05;
k2=@(a,af,b) bsind(af)cosd(af)(pia)^05;
f=@(x,a,af,kc,b)[x(2)+acosd((3k2(a,af,b)^2+k1(x,a,af)(k1(x,a,af)^2+8k2(a,af,b)^2)^05)/(k1(x,a,af)^2+9k2(a,af,b)^2));%方程1
    k1(x,a,af)(cosd(x(2)/2))^3-15k2(a,af,b)sind(x(2))cosd(x(2)/2)-kc;];%方程2
op=optimset('display','off');
Va=04:02:2;
Vaf=0:2:88;
[Ma Maf]=meshgrid(Va,Vaf);
Mp=zeros(size(Ma));
for i=1:length(Vaf)
    for j=1:length(Va)
        tp=fsolve(f,[80 -20],op,Ma(i,j),Maf(i,j),kc,b);
        Mp(i,j)=tp(1);
    end
end
surf(Ma,Maf,Mp)
xlabel('a')
ylabel('af')

注意:

1、我把你的代码用句柄包装了,这样能加快运行速度。

2、a在0附近时,会有较大的计算误差,所以讲a的下限取为04。若仍需要从零开始计算,可以将Va改为:

Va=eps:02:2;

可以参考下面的代码:

>> t=0:01:2pi; >> x=10(t-sin(t));y=10(1-cos(t)); >> plot(x,y)

plot 函数常用格式为:

plot(x) 当x 为一向量时,以x 元素的值为纵坐标,x 的序号为横坐标值绘制

使用plot 函数之前,必须首先定义好曲线上每一点的x 及y 坐标。

扩展资料:

Matlab常用函数和命令

simget 获取SIMULINK模型设置的仿真参数

simple 寻找最短形式的符号解

simplify 符号计算中进行简化 *** 作

simset 对SIMULINK模型的仿真参数进行设置simulink 启动SIMULINK模块库浏览器

svds 求指定的若干奇异值

switch-case-otherwise 多分支结构

sym2poly 符号多项式转变为双精度多项式系数向量

参考资料来源:百度百科-MATLAB

可以把它用参数方程的形式表达出来后用mesh等函数绘制surface图。
[theta,phi]=meshgrid(linspace(0,2pi),linspace(-pi/22,pi/22));
x=sec(phi)cos(theta);
y=sec(phi)sin(theta);
z=tan(phi);
mesh(x,y,z)
axis tight equal
对于无法表示为参数形式的一般隐函数曲面f(x,y,z)=0,可以用isosurface函数绘制patch图。
f=inline('x^2+y^2-z^2-1');
[x,y,z]=meshgrid(linspace(-7,7,25));
val=f(x,y,z);
[p,v]=isosurface(x,y,z,val,0);
patch('faces',p,'vertices',v,'facevertexcdata',jet(size(v,1)),'facecolor','w','edgecolor','flat');
view(3);grid on;axis tight equal

1、首先打开matlab,输入clc和clear清除数据缓存。

2、求一个马鞍面要知道法向量和过平面的一个点,设平面法向量n=(A,B,C),例如A=2,B=1,C=3。

3、是由自变量x,y,以及因变量z组成,所以要设置下,x,y的取值范围。

4、设置经过点(1,1,1),那么方程为A(x-1)+B(y-1)+C(z-1)=0,组成关于z的方程组。

5、使用mesh(x,y,z)进行绘制三维。

6、最后绘制的图形成功显示。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/13212877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存