| 查看: 583 | 回复: 2 | |||
| 当前主题已经存档。 | |||
whiteman铜虫 (正式写手)
|
[交流]
【求助】200金币求如何在matlab里实现循环求极小值? 已有1人参与
|
||
|
如M函数: function f=c(p); z=p(1); T=377;u1=0.012;u2=u1; a1=(4.273e+5)*(T-377.0); a11=-6.36e+8; a111=2.81e+9; a1111=1.74e+10; Q11=0.12;Q12=-0.053;Q44=0.052;s11=4.6e-12;s12=-1.1e-12;s44=11.1e-12; aa3=a1-(u1+u2)*Q12/(s11+s12); aa33=a11+Q12^2/(s11+s12); f=aa3*z^2+aa33*z^4+a111*z^6+a1111*z^8; 我现在只会在m函数中改变u1然后在命令行输入[x,f]=fminbnd('c',0,1)求不同u1下的极小值。怎样才能在Matlab上自动求u1=-0.015,-0.014,。。。0.015函数求极小值 |
» 猜你喜欢
重庆交大26年硕士生招生拟调剂通知已出!欢迎加入光子学微结构与器件课题组。
已经有0人回复
UJN物理学专业调剂
已经有12人回复
物理学I论文润色/翻译怎么收费?
已经有102人回复
0702一志愿吉大B区求调剂 本科期间发表一篇Sci
已经有0人回复
北京纳米能源与系统研究所王中林院士/曹南颖研究员课题组招收2026硕士研究生1名
已经有0人回复
山西大同大学物理学硕士研究生招收调剂生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
[调剂信息]211智能人工感知方向国家青年特聘专家课题组招收调剂研究生
已经有0人回复
一志愿物理所凝聚态物理352求调剂
已经有0人回复
change0618
铁杆木虫 (著名写手)
方丈大师
- 计算强帖: 1
- 应助: 44 (小学生)
- 金币: 17724.5
- 红花: 17
- 帖子: 2413
- 在线: 546.7小时
- 虫号: 496517
- 注册: 2008-01-19
- 专业: 化学反应工程
★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
zeoliters(金币+3):多谢回帖交流! 2010-03-05 16:37
小木虫(金币+0.5):给个红包,谢谢回帖交流
zeoliters(金币+3):多谢回帖交流! 2010-03-05 16:37
|
加一个for循环 function A111 clc clear all c=-0.015:0.001:0.015; for i=1:length(c) [x(i),f(i)]=fminbnd(@(x)myfun(x,c(i)),0,1); end [x',f'] function f=myfun(p,u1) z=p(1); T=377;u2=u1; a1=(4.273e+5)*(T-377.0); a11=-6.36e+8; a111=2.81e+9; a1111=1.74e+10; Q11=0.12;Q12=-0.053;Q44=0.052;s11=4.6e-12;s12=-1.1e-12;s44=11.1e-12; aa3=a1-(u1+u2)*Q12/(s11+s12); aa33=a11+Q12^2/(s11+s12); f=aa3*z^2+aa33*z^4+a111*z^6+a1111*z^8; |
2楼2010-03-01 17:59:33
huweny87
木虫 (小有名气)
- 应助: 8 (幼儿园)
- 金币: 3094.5
- 红花: 1
- 帖子: 193
- 在线: 84.2小时
- 虫号: 638019
- 注册: 2008-10-27
- 性别: GG
- 专业: 半导体材料
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
luoqiquan(金币+2):ths 2010-04-08 18:48
小木虫(金币+0.5):给个红包,谢谢回帖交流
luoqiquan(金币+2):ths 2010-04-08 18:48
|
建议用并行for循环(parfor),这样执行速度比较快.将楼主的函数第三行对u1的赋值语句删掉,得到一个新的函数.新写一个脚本来实现楼主的功能. u1range=-0.015:0.001:0.015; x=zeros(size(u1range));f=zeros(size(u1range)); global u1; parfor i=1:length(u1range) u1=u1range(i); [x(i),f(i)]=fminbnd('c',0,1); end 仅提供参考思路,程序没有调试过. |

3楼2010-04-07 23:24:18














回复此楼