CAD教程 行业资讯 3D模型下载 Pro/E教程 CAD书店 软件下载 联系我们
技术资料 CAD招聘 发布招聘 CAD问答 设计竞赛 CAD认证 北京CAD培训
视频教程 PS教程 CAD图纸 图书推荐 Solidworks教程 CAD培训 CAD软件商

 最新视频教程Pro/ENGINEER Wildfire2.0 工业设计实例视频教程 (全套免费在线学习)   AutoCAD视频教程每日更新
 
首页 > CAD在线问答 > matlab

急!用matlab解微分方程组程序报错(附源程序)越快告诉就追加悬赏

2013-06-14 51自学网




没有大错误,将中文标点改下就行了

新建一个cjxxfun.m文件

function yp=cjxxfun(t,y,flag,q,m)

yp=[y(4);y(5);y(6);q*(10*y(3)+1)*y(5)/m-q*((-5*sqrt(y(1).^2+y(2).^2))*cos(pi/4))*y(6)/m;q*((-5*sqrt(y(1).^2+y(2).^2))*sin(pi/4))*y(6)/m;-q*((-5*sqrt(y(1).^2+y(2).^2))*sin(pi/4))*y(5)/m];

在command窗口输入下面代码结果就有了

clear;

q=1.6e-19;

m=1.6725e-27;

V0=1e6;sita=pi/4;

Vy=0;Vz=V0*cos(sita);Vx=V0*sin(sita);

c=[0;1;0;Vx;Vy;Vz];%给定初始量

[t,y]=ode45('cjxxfun',[0:1e-7:1.5e-6],c,[],q,m);%解微分方程组

plot3(y(:,1),y(:,2),y(:,3),'linewidth',2);%绘制三维粒子运动轨迹

xlabel('z');ylabel('y');zlabel('x');

grid on;title('磁镜现象')

figure

subplot(2,1,1);

plot(y(:,1),y(:,2),'linewidth',2);%从yoz面看到的轨迹

xlabel('z');ylabel('y');

grid on;title('yoz平面')

subplot(2,1,2);

plot(y(:,1),y(:,3),'linewidth',2);%从xoz面观察的轨迹

xlabel('z');ylabel('x');

title('xoz平面');grid on;

追问
谢谢你的回答,我不太会用matlab,那个 cjxxfun.m放哪啊,我复制你的程序测试还是不成功
回答
放在当前工作目录下,current folder目录下,然后直接复制粘贴我贴出来的那些代码
追问
不好意思啊,当前工作目录是什么目录啊,我用matlab都是直接输程序然后运行的,这个文件夹是从哪来的
回答
能看到current folder窗口吗?直接把那个m文件copy进去就行了
提问者评价
谢谢!
我来回答 共有条 回答
用户名: 密码:
验证码: 匿名发表
| AutoCAD | Pro/E | UG | 3Dmax | catia | solidworks | maya | photoshop | 模具设计 | 有限元 | matlab | 计算机图形学 | 室内设计 |