24小时热门版块排行榜    

查看: 707  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

悠然清风

新虫 (初入文坛)

[求助] matlab高维函数如何调用到主函数中? 已有1人参与

%最速下降法
%最速下降法
function [x,k,tol,fmin]=minzs(fun,gfun,x0,eps)
format long;
tic
if nargin==3
    eps=1.0e-6;
end
tol=1;
syms r;
k=0;
while tol>eps
   g0=feval(gfun,x0);
    tol=norm(g0);
    m=x0+r*g0;
    yf=feval(fun,m);
    r1=minnd(yf,0);
    x1=x0+r1*g0;
    x0=x1;
    k=k+1;
end
x=vpa(x0,5);
fmin=feval(fun,x0);
fmin=vpa(fmin,5);
format short;


fun1.m函数
function f=fun1(x)
y=ones(1,20);
var=vpa(ones(1,20));
for i=1:20;
    x(i)=vpa([\'x\',num2str(i)]);
    var(i)=x(i);
    y(i)=1.0;
end

m=0;
for i=1:10
    m=m+(x(2*i-1))^2+100*(x(2*i))^2;
end

    f=0.5*m;

gfun1函数
function gf=gfun1(x)
var=vpa(ones(1,20));
for i=1:20;
   x(i)=vpa([\'x\',num2str(i)]);
    var(i)=x(i);
    if mod(i,2)==0
        x(i)=100*x(i);
    end
end
gf=x;



clear
x0=ones(1,20);
[x,k,tol,fmin]=minzs(\'fun\',\'gfun\',x0)
为什么不能运行
The following error occurred converting from sym to double:
Error using mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression
into a double array.

If the input expression contains a symbolic variable, use the VPA
function instead.

Error in gfun1 (line 4)
   x(i)=vpa([\'x\',num2str(i)]);

Error in minzs (line 12)
   g0=feval(gfun,x0);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

悠然清风

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by wurongjun at 2016-03-25 17:52:35
你的函数fun1写法不正确: x(i)=vpa();这块有问题!

谢谢,我已经解决了。
4楼2016-03-26 10:36:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

悠然清风

新虫 (初入文坛)

function [x,fmin]=minnd(f,x0,eps)
format long;
if nargin==2
  eps=1.0e-6;
end
g1=diff(f);
g2=diff(g1);
k=0;
t=1;
while t>eps
h1=subs(g1,findsym(g1),x0);
h2=subs(g2,findsym(g2),x0);
t=abs(h1);
x0=x0-h1/h2;
k=k+1;
end
x=x0;
fmin=subs(f,findsym(f),x);
format short;
2楼2016-03-25 16:09:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wurongjun

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
悠然清风: 金币+5, 还是谢谢,我已经解决了 2016-03-26 18:12:32
你的函数fun1写法不正确: x(i)=vpa([\'x\',num2str(i)]);这块有问题!
善恶到头终有报,人间正道是沧桑.
3楼2016-03-25 17:52:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 08工科 320总分 求调剂 +6 梨花珞晚风 2026-03-17 6/300 2026-03-21 03:40 by JourneyLucky
[考研] 初始318分求调剂(有工作经验) +3 1911236844 2026-03-17 3/150 2026-03-21 02:33 by JourneyLucky
[考研] 一志愿 西北大学 ,070300化学学硕,总分287,双非一本,求调剂。 +3 晨昏线与星海 2026-03-18 3/150 2026-03-21 00:46 by JourneyLucky
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[考研] 260求调剂 +3 朱芷琳 2026-03-20 3/150 2026-03-20 20:35 by 学员8dgXkO
[考研] 289求调剂 +6 怀瑾握瑜l 2026-03-20 6/300 2026-03-20 20:30 by 学员8dgXkO
[考研] 工科材料085601 279求调剂 +7 困于星晨 2026-03-17 9/450 2026-03-20 17:38 by 无懈可击111
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[论文投稿] 申请回稿延期一个月,编辑同意了。但系统上的时间没变,给编辑又写邮件了,没回复 10+3 wangf9518 2026-03-17 4/200 2026-03-19 23:55 by babero
[考研] 一志愿中国海洋大学,生物学,301分,求调剂 +5 1孙悟空 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[考研] 081700化工学硕调剂 +3 【1】 2026-03-16 3/150 2026-03-19 23:40 by edmund7
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 085601材料工程专硕求调剂 +10 慕寒mio 2026-03-16 10/500 2026-03-19 15:26 by 丁丁*
[考研] 化学工程321分求调剂 +15 大米饭! 2026-03-15 18/900 2026-03-18 14:52 by haxia
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 308求调剂 +4 是Lupa啊 2026-03-16 4/200 2026-03-17 17:12 by ruiyingmiao
[考研] 275求调剂 +4 太阳花天天开心 2026-03-16 4/200 2026-03-17 10:53 by 功夫疯狂
[论文投稿] 有没有大佬发小论文能带我个二作 +3 增锐漏人 2026-03-17 4/200 2026-03-17 09:26 by xs74101122
[考研] 本科南京大学一志愿川大药学327 +3 麦田耕者 2026-03-14 3/150 2026-03-14 20:04 by 外星文明
信息提示
请填处理意见