24小时热门版块排行榜    

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

wtisunday

木虫 (正式写手)

[求助] 如何在matlab中实现向量向函数的传递

for i=1:8
        a=k(i);b=k(i+8);
        [x(i),fval]=fsolve(@pp,x0);
end

function f=pp(x)
pp1=x(1)+a;
pp2=x(2)-b;
f=[pp1,pp2]';

想问一下,如何实现向量分量向函数的传递啊?谢谢
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wtisunday

木虫 (正式写手)

引用回帖:
: Originally posted by dbb627 at 2012-02-16 09:50:37:
举个例子吧
[code]
function aa
k=1:16;
for i=1:8
    x0=[2 1];
        a=k(i);b=k(i+8);
        [x(i,,fval]=fsolve(@(x)pp(x,a,b),x0);
        end
x
function f=pp(x,a,b)
pp1=x(1)+a;
pp2 ...

如果k是一个全局变量,比如k=[a1,a2,a3...,a16],又如何实现在i循环下实现对k的选择啊
3楼2012-02-16 12:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
举个例子吧
CODE:
function aa
k=1:16;
for i=1:8
    x0=[2 1];
        a=k(i);b=k(i+8);
        [x(i,:),fval]=fsolve(@(x)pp(x,a,b),x0);
        end
x
function f=pp(x,a,b)
pp1=x(1)+a;
pp2=x(2)-b;
f=[pp1,pp2]';

结果

x =

   -1.0000    9.0000
   -2.0000   10.0000
   -3.0000   11.0000
   -4.0000   12.0000
   -5.0000   13.0000
   -6.0000   14.0000
   -7.0000   15.0000
   -8.0000   16.0000
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
2楼2012-02-16 09:50:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wtisunday

木虫 (正式写手)

引用回帖:
: Originally posted by dbb627 at 2012-02-16 09:50:37:
举个例子吧
[code]
function aa
k=1:16;
for i=1:8
    x0=[2 1];
        a=k(i);b=k(i+8);
        [x(i,,fval]=fsolve(@(x)pp(x,a,b),x0);
        end
x
function f=pp(x,a,b)
pp1=x(1)+a;
pp2 ...

function f=ObjFunc1(x0,k,xexp,yexp)
global c
c=k;
G=[336370,64246.4,44849.7,10649.7,5151.99,1224.43,63.4524,2.67362]';
t=[0.00423,0.01621,0.06216,0.23841,0.91437,3.50692,14.6856,101.343]';
xexp=[0.03162 0.1 0.31623 1 3.16228 10.5635 20.395]';
yexp=[84834.3 84834.3 79215.4 62322.2 52509.5 32501.6 25570.4]';
for j=1:7
    Xexp=xexp(j);Yexp=yexp(j);
    for i=1:8
        x0=[1,0]';
        T=t(i);g=G(i);a=c(i);b=c(i+8);
        [x(i,,fval]=fsolve(@(x)pp(x,a,b,Xexp,T,g),x0);
        fff(i)=(x(:,1)-x(:,2))/Xexp;
    end
    ff(j)=sum(fff')-Yexp;
end
f=sum((ff')^2);
以上是我的一个子程序,k=[a1,...a16],为全局变量
您帮忙给看看怎么回事吧,为什么返回显示c只有1×7大小呢
4楼2012-02-16 13:13:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +6 ASdOkHsho7FD 2026-08-28 7/350 2026-08-29 17:31 by 4FFAWE8HcgUD
[基金申请] 为什么到现在没收到通知? +4 tannykie 2026-08-29 4/200 2026-08-29 17:14 by lmz0216
[基金申请] 有没有仍没收到信息的 +5 德尚中行 2026-08-27 5/250 2026-08-29 16:16 by manplx
[教师之家] 导师吐槽:我怎么摊上了这么个极品研究生! +9 苏东坡二世 2026-08-23 9/450 2026-08-29 14:41 by hustersqt
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +5 gdd2018 2026-08-28 10/500 2026-08-29 14:10 by Jacob678
[公派出国] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 14:02 by jCd0dEvKHShX
[论文投稿] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 ASdOkHsho7FD 2026-08-28 4/200 2026-08-29 13:51 by jCd0dEvKHShX
[基金申请] 投票:  有多少人是今天查系统知道结果的? +16 爱看书的可乐 2026-08-26 18/900 2026-08-29 10:18 by winsaint
[基金申请] 基金不中,共勉 +11 eulota 2026-08-26 11/550 2026-08-28 14:22 by 火星超人xi
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[文学芳草园] 梦想 +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年的国家社科基金项目通讯评审的新规则与新动向、新挑战 +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 能否退出参与的面上项目解除限项 +23 koalala 2026-08-24 26/1300 2026-08-26 14:29 by 宝贝虫子
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见