论坛中常见的Matlab问题:
1. 数据生成问题
问题描述:如何生成两列数字x,y,使得x+y<=1?
解答:首先生成一列随机数x,第二列在(-inf,1-x)区间内取值。如有其他限制可以依次类推。
2. 数据导入问题
问题描述:希望将excel中的daily数据导入到matlab中,要求使用xlsread?
解答:可以先保存为字符串读入,再使用日期函数将字符串转化过来。
3. 符号方程求解:
问题描述:求解三次方程s=x^3+(a+2b-c)x^2-(a^2+3c-4d)x+(b^2+5c^2-2d)=0
解答:syms a b c x;
s=x^3+(a+2b-c)*x^2-(a^2+3*c-4*d)*x+(b^2+5*c^2-2*d);
solve(s);
4. 动态规划中0-1变量的定义
问题:我在用matlab求解动态规划,需要定义一个0-1变量,在matlab里面怎么表示呢?
解答:使用dummyvar。
5. GARCH(1,1)模型
问题:如何在Matlab中实现GARCH(1,1)模型,另外Eviews和Matlab中拟合的结果不同,为何?
解答:Matlab中可以用金融工具箱拟合GARCH模型,拟合结果的差距更多是计算上的微小波动,并不影响结果的分析。
6. 双变量求和问题
问题:如何实现双变量求和,公式为?
答案:
result=(CT-C0)./(log(CT)-log(C0)).*log(IT./I0);
finalResult=sum(result(:));
7. ARMA模型诊断
问题:如何用MATLAB确定ARMA模型的阶数?、
解答:通过自相关和偏自相关图。
8. 画图问题
问题:画y=(a*(b*a+1-b)-sqrt(a*(1-a)*(1-b*a)*(b*a+1-b)))/(2*a-1)的图像,定义域为[0.1]
解答:
b=0.5;
x=linspace(0,1);
y=(x.*(b.*x+1-b)-sqrt(x.*(1-x).*(1-b.*x).*(b.*x+1-b)))./(2*x-1);
plot(x,y);
设定不同的b就可以实现不同参数下的图像了。
9. 面板数据的单位根检验
问题:如何在Matlab中进行单位根检验?
解答:面板数据的单位根检验LLC、JPS-W检验、ADF-Fisher和PP-Fisher检验,需要根据检验原理编制程序。
不过LLC检验可以参考
http://onlyzhusy.spaces.live.com ... 504687420!606.entry。
10. CSV文件读取
问题:What are the commands to manipulate with .csv files? Do the arrays start with 0? And how to play around with text format columns?
解答:Please try csvread().csvread() only supports numerial format,so if you need to use text format columns, try text or excel.
11. portopt中矩阵的非正定问题
问题:如何解决portopt()中的矩阵不是正的半定矩阵的问题啊(矩阵有随机数生成三角矩阵后转置填充得到)
解答:该矩阵必须是正定的,否则会导致拟合结果不稳定;参考的解决方案是使用AA’的形式。
12. GARCH残差分布推广
问题:GARCH模型的残差性一般假定服从正态分布、t分布或广义误差分布,这些假定与金融市场的典型事实并不是很相符,请高手指点残差为稳定分布或双曲分布的GARCH模型的估计
解答:残差分布的推广后依然需要使用极大似然法进行估计,这是可以考虑蒙特卡洛模拟法来估计参数。
13. 如何将几列很长的数据在matlab中排列成矩阵
问题:如上
解答:reshape
14. 数据转换
问题:对于一个只有0,1两个元素的矩阵,在给定一个比例0.02的条件下,将0换成1,1换成0.
解答:
idx=rand(size(A));
A(idx<.02)=1-A(idx<.02);
15. matlab求解规划问题
问题:如上
解答:linprog