可以用Matlab画出如图微分方程的图像,请大神画出图像给我可以吗?
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/17 19:07:10
可以用Matlab画出如图微分方程的图像,请大神画出图像给我可以吗?
由于个人不懂Matlab也没有Matlab软件,所以向大家求教!
扣扣油箱:2631838120
![可以用Matlab画出如图微分方程的图像,请大神画出图像给我可以吗?](/uploads/image/z/1434180-12-0.jpg?t=%E5%8F%AF%E4%BB%A5%E7%94%A8Matlab%E7%94%BB%E5%87%BA%E5%A6%82%E5%9B%BE%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%9A%84%E5%9B%BE%E5%83%8F%2C%E8%AF%B7%E5%A4%A7%E7%A5%9E%E7%94%BB%E5%87%BA%E5%9B%BE%E5%83%8F%E7%BB%99%E6%88%91%E5%8F%AF%E4%BB%A5%E5%90%97%3F)
你这个并不是微分方程啊?
就是一个向量的积分而已:上面的dB是一个三维向量,有4个自变量,对其中的一个自变量积分得到下面的式子.
对这样一个向量场的表现手段用锥形图比较合适,类似下图这样:
![](http://img.wesiedu.com/upload/8/da/8dac218d8b0b0c90a10cab2d6159e397.jpg)
如果正确,请给出I、R的值,并指明x、y、z的范围,我再帮你做.
再问: I=0.1 R=0.1,谢谢!还有就是x,y,z轴表示出来!
再答: 请指明x、y、z的取值范围。
再问: x,y,z在(-100,100)
再画一个上面式子的,最后一个,十分感谢!
再答: 我仔细考虑了一下,x、y、z的取值范围不宜取这么大。 这是因为,当x、y、z远大于R时,分母里的θ项基本可以忽略,积分得到的各轴向的值都接近0,而这时分母又比较大,所以与x、y、z小于R的值远远不在一格量级,画出的图基本上只有坐标原点附近才有非零值。而受限于系统资源,点距又不可能取的太密集,这样画出的图没什么实际价值。 所以,我在-R~R之间取值,画出的锥形图如下(第一个是三维图,后面三个是三视图):![](http://img.wesiedu.com/upload/0/8b/08b8c88ad46efbb2c15a2d2944c4907a.jpg)
![](http://img.wesiedu.com/upload/2/cc/2cc722e55080c244c5c9011ad871f364.jpg)
![](http://img.wesiedu.com/upload/6/e5/6e51e4a6de91b0a67cc2e7f08596f8b5.jpg)
参考代码:L = R;
I = 0.1; R = 0.1;
u0 = pi*4e-7;
dB = @(x,y,z,t) u0/4*pi * [ R*I*z*cos(t); R*I*z*sin(t); ...
R*I*(sin(t).*(y-R*sin(t))+cos(t).*(x-R*cos(t))) ] / ...
sqrt( (x-R*cos(t)).^2 + (y-R*sin(t)).^2 + z.^2 ).^3;
B = @(x,y,z) quadv(@(t)dB(x,y,z,t),0,2*pi);
[x,y,z] = meshgrid(linspace(-L,L,10));
B = arrayfun(B,x,y,z,'UniformOutput',false);
[m,n,l] = size(B);
[m,n,l] = meshgrid(1:m,1:n,1:l);
Bx = arrayfun(@(i,j,k)B{i,j,k}(1),m,n,l);
By = arrayfun(@(i,j,k)B{i,j,k}(2),m,n,l);
Bz = arrayfun(@(i,j,k)B{i,j,k}(3),m,n,l);
B = sqrt(Bx.^2+By.^2+Bz.^2); clf reset
colordef(gcf,'black')
[cx cy cz] = meshgrid(linspace(-L,L,10));
h=coneplot(x,y,z,Bx,By,Bz,cx,cy,cz,B,0.8);
set(h,'EdgeColor', 'none');
view(35,25)
xlabel('x');
ylabel('y');
zlabel('z');
box on;
axis tight
camlight left;
camlight right;
lighting phong
就是一个向量的积分而已:上面的dB是一个三维向量,有4个自变量,对其中的一个自变量积分得到下面的式子.
对这样一个向量场的表现手段用锥形图比较合适,类似下图这样:
![](http://img.wesiedu.com/upload/8/da/8dac218d8b0b0c90a10cab2d6159e397.jpg)
如果正确,请给出I、R的值,并指明x、y、z的范围,我再帮你做.
再问: I=0.1 R=0.1,谢谢!还有就是x,y,z轴表示出来!
再答: 请指明x、y、z的取值范围。
再问: x,y,z在(-100,100)
![](http://img.wesiedu.com/upload/6/c7/6c7191f65316e680a7656daeb5f04a4d.jpg)
再答: 我仔细考虑了一下,x、y、z的取值范围不宜取这么大。 这是因为,当x、y、z远大于R时,分母里的θ项基本可以忽略,积分得到的各轴向的值都接近0,而这时分母又比较大,所以与x、y、z小于R的值远远不在一格量级,画出的图基本上只有坐标原点附近才有非零值。而受限于系统资源,点距又不可能取的太密集,这样画出的图没什么实际价值。 所以,我在-R~R之间取值,画出的锥形图如下(第一个是三维图,后面三个是三视图):
![](http://img.wesiedu.com/upload/0/8b/08b8c88ad46efbb2c15a2d2944c4907a.jpg)
![](http://img.wesiedu.com/upload/2/cc/2cc722e55080c244c5c9011ad871f364.jpg)
![](http://img.wesiedu.com/upload/6/e5/6e51e4a6de91b0a67cc2e7f08596f8b5.jpg)
![](http://img.wesiedu.com/upload/0/6c/06ca8d91dd8b56b5c2706d89206779ac.jpg)
I = 0.1; R = 0.1;
u0 = pi*4e-7;
dB = @(x,y,z,t) u0/4*pi * [ R*I*z*cos(t); R*I*z*sin(t); ...
R*I*(sin(t).*(y-R*sin(t))+cos(t).*(x-R*cos(t))) ] / ...
sqrt( (x-R*cos(t)).^2 + (y-R*sin(t)).^2 + z.^2 ).^3;
B = @(x,y,z) quadv(@(t)dB(x,y,z,t),0,2*pi);
[x,y,z] = meshgrid(linspace(-L,L,10));
B = arrayfun(B,x,y,z,'UniformOutput',false);
[m,n,l] = size(B);
[m,n,l] = meshgrid(1:m,1:n,1:l);
Bx = arrayfun(@(i,j,k)B{i,j,k}(1),m,n,l);
By = arrayfun(@(i,j,k)B{i,j,k}(2),m,n,l);
Bz = arrayfun(@(i,j,k)B{i,j,k}(3),m,n,l);
B = sqrt(Bx.^2+By.^2+Bz.^2); clf reset
colordef(gcf,'black')
[cx cy cz] = meshgrid(linspace(-L,L,10));
h=coneplot(x,y,z,Bx,By,Bz,cx,cy,cz,B,0.8);
set(h,'EdgeColor', 'none');
view(35,25)
xlabel('x');
ylabel('y');
zlabel('z');
box on;
axis tight
camlight left;
camlight right;
lighting phong
可以用Matlab画出如图微分方程的图像,请大神画出图像给我可以吗?
求matlab程序,用matlab解微分方程,并且画出两个小车的位移,加速度的图像,
用什么软件可以画出指数函数的图像?
如何用matlab 画出以下函数的图像?
如何用matlab画出抽样函数的图像 我画的只是一条直线是怎么回事?
怎样用matlab画出正弦函数的图像?
有哪些可以画函数图像的软件,可以给点任一个函数然后自动画出函数图像
如何用matlab画出一幅图像的频谱图?求程序
怎么用matlab画出z=xy的三维图像
怎么用matlab画出下面分段函数的图像?
请问用matlab如何画出一下函数的图像?
用matlab画出该函数的函数图像