我正在尝试在Matlab 2019a中计算具有多个维度的内部收益率。我的公式从理论上讲是有效的(目前暂时忽略“多重收益率”警告),但是问题是,对于更大的矩阵(即noScenarios> 5或更大),代码变得非常慢。有哪些编程替代方法?我也尝试过解决,但我认为也不快。
请注意,由于我没有数学能力,因此像“布伦特方法”这样的简单关键字对我来说是不够的(例如,“计算内部收益率内部收益率的最有效方法是什么?”)。我将不得不知道a)如何在Matlab中实现它,以及b)如果它确实是白痴证明,那么什么都不会出错?谢谢!
clc
clear
close all
noScenarios = 50;
CF = ones(300,noScenarios,noScenarios,noScenarios);
CF = [repmat(-300, 1,noScenarios,noScenarios,noScenarios); CF];
for scenarios1 = 1:noScenarios
for scenarios2 = 1:noScenarios
for scenarios3 = 1:noScenarios
IRR3dimensional(scenarios1,scenarios2,scenarios3) = irr(CF(:,scenarios1,scenarios2,scenarios3));
end
end
end
Run Code Online (Sandbox Code Playgroud) 我想以某种方式在 Matlab 中标记垂直线。我可以想象两种选择:要么在每条垂直线旁边都有图例条目,要么在图中对垂直线进行编号,然后让数字重新出现在图例中。这两种可能吗?
我不想使用不同的颜色或图形模式,因为我有几条垂直线,否则图形很难阅读。
x 是日期数字向量,y 是价格数据。Date1 和 Date2 是作为 x 元素的日期。
plot(x,y), grid on;
dateaxis('x',17);
line([Date1 Date1], ylim); % I would like to have a legend entry for this right at the line in the graph
line([Date2 Date2], ylim); % I would like to have a legend entry for this right at the line in the graph
legend('Price');
Run Code Online (Sandbox Code Playgroud) 我有以下代码用于在MATLAB中使用2个y轴的绘图.我很高兴双轴功能有效,但是,我想避免条形图的重叠.此外,右侧轴上的类别应该具有不同的颜色,不仅是黄色,而且应该以某种方式清楚它们是在右侧轴而不是左侧轴上绘制的.如何才能做到这一点?
EONMW = [100 399 500];
RWEMW = [200 996 120];
GermanByEON = [0.2 0.4 0.5];
GermanByRWE = [0.1 0.5 0.9];
EONGermanPortfolio = [0.7 0.2 0.1];
RWEGermanPortfolio = [0.8 0.3 0.6];
years = [2010 2012 2014];
% Plot
values1 = [EONMW; RWEMW]';
values2 = [GermanByEON; GermanByRWE; EONGermanPortfolio; RWEGermanPortfolio]';
years1 = [years; years]';
years2 = [years; years; years; years]';
figure;
bar(years1,values1);
ylabel('Utilities generation portfolio in MW')
yyaxis right
bar(years2,values2);
legend('EON German portfolio in MW', 'RWE German portfolio in MW',...
'Percentage of …Run Code Online (Sandbox Code Playgroud)