楼主: 粘贴狗
1887 5

[问答] 【求助】matlab计算剩余收益模型,一直报错,求大神帮看! [推广有奖]

  • 1关注
  • 2粉丝

大专生

96%

还不是VIP/贵宾

-

威望
0
论坛币
280 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3554 点
帖子
50
精华
0
在线时间
87 小时
注册时间
2015-12-28
最后登录
2016-10-8

楼主
粘贴狗 发表于 2016-1-3 14:44:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我需要计算股权融资成本,需要用到matlab,但是程序运行起来一直报错,找不到问题在哪里,求大神帮忙!需计算公式如图所示
1.png
2.png
T=12
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:MATLAB 剩余收益模型 matla atlab Lab matlab 如图所示 模型 收益 成本

沙发
粘贴狗 发表于 2016-1-3 14:46:36
我的代码如下
function x=Problem1()
clear all
%  把函数Problem_1()文件和ProblemData_1数据保存放在桌面或者指定的matlab搜索文件夹(Current Folder设置)下
%  在Command Window里面输入x=Problem_1()即可得到x
clc
load 2003
x=zeros(1,length(P));
%  初始值
r0=0;
for i=1:length(P)
    x(i)=fsolve(@(r)myfun(r,P(i),B(i,:),FROM(i,:)),r0);   
end
x=x';
end

%  求解的r的函数
function y = myfun(r,P,B,FROM)
F=B(1);
for i=1:12
        if i<12
                F=F+(FROM(i+1)-r)*B(i)/((1+r)^i);
        else
            F=F+(FROM(13)-r)*B(12)/(r*((1+r)^11));
        end
end
y=P-F;
%  求解y等于0
end

藤椅
粘贴狗 发表于 2016-1-3 15:06:56
function x=Problem1()
clear all
%  把函数Problem_1()文件和ProblemData_1数据保存放在桌面或者指定的matlab搜索文件夹(Current Folder设置)下
%  在Command Window里面输入x=Problem_1()即可得到x
clc
load 2003
x=zeros(1,length(P));
%  初始值
r0=0;
for i=1:length(P)
    x(i)=fsolve(@(r)myfun(r,P(i),B(i,:),FROM(i,:)),r0);   
end
x=x';
end

%  求解的r的函数
function y = myfun(r,P,B,FROM)
F=B(1);
for i=1:12
        if i<12
                F=F+(FROM(i+1)-r)*B(i)/((1+r)^i);
        else
            F=F+(FROM(13)-r)*B(12)/(r*((1+r)^11));
        end
end
y=P-F;
%  求解y等于0
end

板凳
粘贴狗 发表于 2016-1-3 15:08:56
MATLAB.zip (159.68 KB) 本附件包括:
  • Problem1.m
  • 2003.mat

这是数据和m文件,报错情况如下图
3.png

报纸
粘贴狗 发表于 2016-1-3 15:12:20
  1. function x=Problem1()
  2. clear all
  3. %  把函数Problem_1()文件和ProblemData_1数据保存放在桌面或者指定的matlab搜索文件夹(Current Folder设置)下
  4. %  在Command Window里面输入x=Problem_1()即可得到x
  5. clc
  6. load 2003
  7. x=zeros(1,length(P));
  8. %  初始值
  9. r0=0;
  10. for i=1:length(P)
  11.     x(i)=fsolve(@(r)myfun(r,P(i),B(i,:),FROM(i,:)),r0);   
  12. end
  13. x=x';
  14. end

  15. %  求解的r的函数
  16. function y = myfun(r,P,B,FROM)
  17. F=B(1);
  18. for i=1:12
  19.         if i<12
  20.                 F=F+(FROM(i+1)-r)*B(i)/((1+r)^i);
  21.         else
  22.             F=F+(FROM(13)-r)*B(12)/(r*((1+r)^11));
  23.         end
  24. end
  25. y=P-F;
  26. %  求解y等于0
  27. end
复制代码

地板
粘贴狗 发表于 2016-1-3 15:14:55
FROM就是公式里的FROE,我没有改过来。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 12:40