24小时热门版块排行榜    

查看: 1825  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 面上函评意见出来了,像什么等级? 20+3 Tsingking1 2026-08-27 14/700 2026-09-01 08:29 by 尼古拉斯小虫
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[文学芳草园] 梦想 +5 myrtle 2026-08-26 5/250 2026-08-31 14:40 by hahaboy
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 面上合作单位盖章 +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 今天务委会开完了,明天出结果吗 +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见