24小时热门版块排行榜    

查看: 284  |  回复: 2

vs570588

木虫 (正式写手)

[求助] 大家看看这个matlab中自定义函数的意思

function Y=mynf1(beta,t)
x=213.63;
for j=1:size(beta,1)
    q(j)=beta(j,1);
    K(j)=(beta(j,2))^2;
    for i=1:length(t)
        Y(j,i)=fsolve(@(S)(K(j)*log(S)+S+x*q(j)*t(i)-(3.8106*K(j)+x*q(j)*19.9167))/130.6542-1,120);
    end;
end;
Y=Y';
大家帮忙,看看这个函数,最好能给我解释每一步,我matlab一点基础都没有。for语句定义的向量函数,我实在不懂。
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★
vs570588(金币+2): 2011-06-23 20:25:02
sunyang1988(金币+3): 谢谢指点 2011-06-25 12:42:15
ben_ladeng: 2011-08-17 00:35:54
vs570588(金币+2): 2011-08-19 21:17:34
应该是根据输入参数解方程的,大概解释下:
CODE:
% 子函数:
% 输入:
%   beta: 矩阵
%   t:  向量
% 输出:
%   Y:  矩阵
function Y=mynf1(beta,t)

% 常数x
x = 213.63;

% 循环1,次数等于beta矩阵行数
for j=1:size(beta,1)

    % q等于beta第一列
    q(j)=beta(j,1);

    % K等于beta第二列的平方
    K(j)=(beta(j,2))^2;

    % 循环2,次数等于t长度
    for i=1:length(t)
        % Y第j行第i个元素等于解出来的S
        Y(j,i)=fsolve(@(S)(K(j)*log(S)+S+x*q(j)*t(i)-(3.8106*K(j)+x*q(j)*19.9167))/130.6542-1,120);
    end;
end;

% Y转置输出
Y=Y';

end

其实此函数有待优化,应避免操作变长向量,而应该一次赋值,加快处理速度
修改版如下(其实q和K这2个中间变量完全可以不用,只是在解方程函数fsolve中用beta(j,1)和beta(j,2)^2代替即可):
CODE:
% 子函数:
% 输入:
%   beta: 矩阵
%   t:  向量
% 输出:
%   Y:  矩阵
function Y=mynf1(beta,t)

% 常数x
x = 213.63;

% q和k一次性赋值:q等于beta第一列;K等于beta第二列的平方
q = beta(:,1);
K = beta(:,2).^2;

% 循环1,次数等于beta矩阵行数
for j=1:size(beta,1)
    % 循环2,次数等于t长度
    for i=1:length(t)
        % Y第j行第i个元素等于解出来的S
        Y(j,i)=fsolve(@(S)(K(j)*log(S)+S+x*q(j)*t(i)-(3.8106*K(j)+x*q(j)*19.9167))/130.6542-1,120);
    end;
end;

% Y转置输出
Y=Y';

end

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2011-06-23 17:52:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军


sunyang1988(金币+1): 谢谢交流 2011-06-25 12:42:24
ben_ladeng: 2011-08-17 00:36:02
另:如果不想要最后一句转置Y=Y',就在循环中Y(i,j)就行了
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2011-06-23 17:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员BmWXvC 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +8 Tide man 2026-08-11 8/400 2026-08-12 17:30 by Vivilian
[基金申请] 好奇怪的filecode +5 布布和一二 2026-08-08 6/300 2026-08-12 16:11 by 云上清扬
[基金申请] 长年满屏的广告,版主太不责任了。基金也等的急 +4 gltch 2026-08-12 4/200 2026-08-12 16:08 by eulota
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +7 布布和一二 2026-08-10 10/500 2026-08-12 09:12 by 布布和一二
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +8 Tide man 2026-08-10 9/450 2026-08-11 20:39 by beefly
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 分享一下我之前已中青C的计划书的filecode +3 布布和一二 2026-08-11 4/200 2026-08-11 15:20 by aasahr
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 关于代码变化问题,想知道的进来 +17 且听虎啸 2026-08-07 24/1200 2026-08-10 18:35 by zhangduo2008
[基金申请] 静等基金结果 +5 gjjjzhong 2026-08-10 16/800 2026-08-10 17:19 by Tide man
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
信息提示
请填处理意见