24小时热门版块排行榜    

查看: 1758  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 小木虫没落了,除了祈祷帖子,几乎看不到有价值的帖子 +13 botar 2026-07-14 14/700 2026-07-15 19:28 by 寒流32
[基金申请] 会评 +5 无名者登山 2026-07-15 5/250 2026-07-15 18:15 by 杠就是你对
[基金申请] 生生命学部会评 +3 wuke100666 2026-07-15 3/150 2026-07-15 17:11 by kingkocxr
[基金申请] E口会评 +11 布布和一二 2026-07-13 13/650 2026-07-15 16:34 by Kittylucky
[基金申请] E口青C会评结束了吗? 40+3 小小书虫c 2026-07-14 9/450 2026-07-15 16:04 by 安静的知了
[基金申请] 生命口C13面上会评时间 +6 luckinging 2026-07-14 9/450 2026-07-15 14:39 by 雨冰共舞
[教师之家] 内心匮乏 +13 水冰月月野兔 2026-07-12 13/650 2026-07-15 14:21 by jiduquegai
[文学芳草园] 你可曾有过这种感受? +3 Jeanya 2026-07-09 6/300 2026-07-15 11:07 by mbtwt
[论文投稿] 农业机械学报投稿周期 +3 G0DLIN 2026-07-14 7/350 2026-07-15 09:26 by xs74101122
[基金申请] 国自然面上D口祈祷 +4 monkeynana 2026-07-14 4/200 2026-07-15 09:14 by 白水煮
[论文投稿] 跨出版社商投稿 20+4 倪好520 2026-07-13 4/200 2026-07-15 08:35 by bobvan
[基金申请] 没收到消息,再次陪跑 +3 天空星辰fly 2026-07-14 3/150 2026-07-14 19:14 by 6543yes
[基金申请] 不要再数国自然申请书的 filecode 的分隔符个数了 +13 sadpencil 2026-07-12 20/1000 2026-07-14 13:12 by 杠就是你对
[基金申请] 明天E口面上会评 +8 布布和一二 2026-07-12 9/450 2026-07-13 22:59 by QTSorange
[论文投稿] MSER送审了还被拒稿 +4 S778950906 2026-07-08 6/300 2026-07-13 16:22 by tfang
[基金申请] 祈祷青基必中 50+6 hadengry 2026-07-09 16/800 2026-07-12 20:31 by 登山虫虫
[考博] 27届辽宁大学应届毕业生申博 +3 可乐微风大海 2026-07-09 3/150 2026-07-10 21:23 by 贪玩的研究僧
[基金申请] 关于如何从代码看上不上会 +17 且听虎啸 2026-07-09 23/1150 2026-07-10 19:51 by sdfapple719
[有机交流] chemdraw 20+5 ?慕鱼? 2026-07-08 6/300 2026-07-10 15:37 by 紫枫星域
[考研] 在职考研 +6 wu5d 2026-07-08 7/350 2026-07-09 16:40 by 化工小霸王呀
信息提示
请填处理意见