| 查看: 364 | 回复: 1 | |||
[交流]
【求助】利用matlab找函数极值点坐标 已有1人参与
|
|
syms x y z q; A=xlsread('C:\Users\shenjunfeng\Desktop\proton trasfer\1T.xls'); x0=A(:, 3); y0=A(:, 4); z0=A(:, 5); q0=A(:, 2); V1x=0;V1y=0;V1z=0; U1x=0;U1y=0;U1z=0; for i=[1:25 27:30]; V1x=V1x+q0(i).*(x-x0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); V1y=V1y+q0(i).*(y-y0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); V1z=V1z+q0(i).*(z-z0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); V1=(V1x.^2+V1y.^2+V1z.^2).^(1/2); U1x=U1x+q0(i).*q*(x-x0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); U1y=U1y+q0(i).*q*(y-y0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); U1z=U1z+q0(i).*q*(z-z0(i))./((x-x0(i)).^2+(y-y0(i)).^2+(z-z0(i)).^2); U1=(U1x.^2+U1y.^2+U1z.^2).^(1/2); end diff(U1,'x') diff(U1,'y') diff(U1,'z') 想找出U1的极值点的坐标,编到这里不会了,请高手帮忙,下面是1T 文件里的数据: 1 0.4397 -1.74856 -2.80728 0 2 -0.5663 -2.14786 -4.14676 0 3 0.4745 0.99366 -4.50379 0 4 0.7356 -1.85968 -0.57935 0 5 -0.6270 -2.54142 -1.74274 0 6 0.7081 0.38903 -1.60605 0 7 0.2450 -1.06427 -6.02435 0 8 0.4328 -3.53884 0.52009 0 9 0.4517 -2.04553 1.49752 0 10 -0.0062 -0.35467 -2.83915 0 11 0.4693 -3.11245 -4.46919 0 12 0.4607 0 0.43235 0 13 -0.6776 1.62009 -1.49525 0 14 0.3414 -1.05544 -4.94205 0 15 -0.7934 -2.52735 0.57338 0 16 -0.6823 -0.4764 -0.51248 0 17 -0.5175 0.03228 -4.17066 0 18 -0.7884 3.00583 1.08143 0 19 -0.3505 2.81789 3.49099 0 20 0.1284 1.96486 4.55372 0 21 0.5274 2.22501 2.17612 0 22 0.8946 0.05087 3.06935 0 23 -0.6403 0.6175 4.34858 0 24 -0.7239 -1.18897 2.96936 0 25 -0.7167 0.89245 1.99694 0 26 0.4431 2.58741 0.14528 0 27 0.4175 4.0125 1.17373 0 28 0.2395 3.89369 3.63269 0 29 0.2320 2.30262 5.5872 0 30 0.4487 -0.03881 5.12388 0 多谢高手赐教! |
zjliu1265
至尊木虫 (正式写手)
- 应助: 18 (小学生)
- 金币: 11822.7
- 散金: 200
- 帖子: 642
- 在线: 678.9小时
- 虫号: 585320
- 注册: 2008-08-08
- 性别: GG
- 专业: 光学
★ ★
zzuwangshilei(金币+1):帮助他人解决问题,欢迎常来 2010-05-12 11:34:07
robert2020(金币+1):欢迎常来仿真模拟版交流。 2010-05-12 12:32:10
shenailin(金币+20): 2010-05-14 08:52:33
zzuwangshilei(金币+1):帮助他人解决问题,欢迎常来 2010-05-12 11:34:07
robert2020(金币+1):欢迎常来仿真模拟版交流。 2010-05-12 12:32:10
shenailin(金币+20): 2010-05-14 08:52:33
|
这是求极值的具体语句(参照这个你该能搞定问题了): 极值: data是你的数据, find(diff(sign(diff(data)))==-2)+1 找到极大值的位置 find(diff(sign(diff(data)))==2)+1 找到极小值的位置 data(find(diff(sign(diff(data)))==-2)+1)和 data(find(diff(sign(diff(data)))==2)+1) 返回的是极大值和极小值 |
2楼2010-05-12 10:33:11













回复此楼