24小时热门版块排行榜    

查看: 1775  |  回复: 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的回帖

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 ...

如果k是一个全局变量,比如k=[a1,a2,a3...,a16],又如何实现在i循环下实现对k的选择啊
3楼2012-02-16 12:48:26
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 wtisunday 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 ANUsWpSnuWQD 2026-08-06 4/200 2026-08-07 04:46 by nSM3ys5fefM3
[基金申请] 听说今天filecode变了 +19 布布和一二 2026-08-06 34/1700 2026-08-07 03:13 by 虫友是什么虫
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见