Matlab/Octave 练习三: 更多的函数,帮助文档

前言

厌烦了练习二中随意拼凑的无意义的程序?这章会有更有意义的程序,但仍然需要你去按照之前的情况,在实现之后每行加上注释,明白每一行命令是什么,如果你在某一命令卡住了,这章也有相应办法,让你熟悉matlab中自带的文档功能。

练习是学习语言的最好途径。

保存为ex3_exp.m

t = 1790:10:1980;
x_t = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 50.2 62.9 76.0 92.0 106.5 123.2 131.7 150.7 179.3 204.0 226.5];
y = log(x_t); 
a = polyfit(t, y, 1)
r = a(1)
x_0 = exp(a(2))
x_1 = x_0 .* exp(r .* t);
plot(t, x_t,  t, x_1);
>>ex3_exp

以下保存为Mycurv.m

function [f] = Mycurv(a, t)
  f = a(1) ./(1+(a(1)/3.9-1)*exp(-a(2)*(t-1790)))

以下保存为ex3_logi.m

x = 1790:10:1990;
y = [3.9 5.3 7.2 9.6 12.9 17.1 23.2 31.4 38.6 ...
    50.2 62.9 76 92 106.5 123.2 131.7 150.7 ...
    179.3 204 226.5 251.4];
plot(x,y,'*',x,y);
hold on;
a_0 = [0.001, 1];
a = lsqcurvefit('Mycurv',a_0,x,y);
disp(['a=' num2str(a)]);
x_i = 1790:5:2020;
y_i = Mycurv(a, x_i);
plot(x_i,y_i,'r');
x_1 = 2010;
y_1 = Mycurv(a, x_i);
hold off
>>ex3_logi

尝试

1.想往常一样,阅读文档,加上注释,如果你不明白那些新来的函数(不包括你自己定义的),就用matlab自带的help 来查阅资料。如

help plot

2.注释出背后的数学逻辑。如ex3_exp.m:
%
背景补充:这是马尔萨斯人口模型,数据来源是美国人口从1790年到1990年间的人口数据,具体可以查阅相关资料深入了解

加分习题

1.使用help查询一下glmfit。
2.进一步的,如果你想进一步了解某一函数,就使用doc指令,找到对应的文档,还有demo指令,能够给你提供一些简明的例子。
3.使用lookfor找到plot相关的一 些函数,试图用上述方法弄明白其中的一个两个。

补充解答

你可能感兴趣的:(Matlab/Octave 练习三: 更多的函数,帮助文档)