24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1665  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂 +5 苦命人。。。 2026-04-18 6/300 2026-04-19 12:04 by 手机用户
[考研] 327求调剂 +27 Xxjc1107. 2026-04-13 30/1500 2026-04-19 08:22 by cuisz
[考研] 291求调剂 +10 关忆北. 2026-04-14 10/500 2026-04-18 23:32 by 路病情
[考研] 一志愿沪9,326求生物学调剂 +12 刘墨墨 2026-04-13 12/600 2026-04-18 23:31 by 路病情
[考研] 生物学调剂 +10 纸扇zhishan 2026-04-13 10/500 2026-04-18 21:19 by zqndavala
[考研] 320求调剂 +5 深郊akm 2026-04-17 5/250 2026-04-18 19:52 by 王珺璞
[考研] 297,工科调剂? +5 河南农业大学-能 2026-04-14 5/250 2026-04-18 15:17 by Equinoxhua
[考研] 22408 312求调剂 +24 门路摸摸 2026-04-14 26/1300 2026-04-18 13:04 by wunaiy88
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 291求调剂 +11 关忆北. 2026-04-14 11/550 2026-04-16 15:18 by jiahl2024
[考研] 289 分105500药学专硕求调剂(找B区学校) +4 白云123456789 2026-04-13 4/200 2026-04-16 00:18 by 粉沁若尘
[考研] 求调剂学校 +14 不会吃肉 2026-04-13 16/800 2026-04-15 21:59 by noqvsozv
[考研] 297,工科调剂? +10 河南农业大学-能 2026-04-14 10/500 2026-04-15 21:50 by noqvsozv
[考研] 085404 22408 309分求调剂 +9 lzmk 2026-04-14 10/500 2026-04-15 20:02 by 学员JpLReM
[考研] 求调剂 +12 何气正 2026-04-13 13/650 2026-04-14 14:47 by zs92450
[考研] 考研调剂 +13 长弓傲 2026-04-13 14/700 2026-04-14 14:44 by zs92450
[考研] 085600材料与化工329分求调剂 +24 叶zilin 2026-04-13 25/1250 2026-04-14 09:20 by 试管破裂
[考研] 085600材料与化工349分求调剂 +16 李木子啊哈哈 2026-04-12 17/850 2026-04-14 09:11 by fenglj492
[考研] 考研求调剂 +12 子木呐 2026-04-12 13/650 2026-04-14 01:19 by 王珺璞
[考研] 一志愿中南大学 0855 机械 286 求调剂 +11 不会吃肉 2026-04-12 11/550 2026-04-13 21:59 by bljnqdcc
信息提示
请填处理意见