回收站
Exercise2
4
i=0;
while i==0
A = randn(100,100);
if rank(A)==100
i=1;
b=randn(1,100)'
x=zeros(100,1)
A
end
end
Jacobi(A,b,x)'
seidel(A,b,x)'
笔记
2019年11月5日
clf清楚图形
clear清楚变量
clc清除命令
exp和semilogy()对于复数元素
z
=x
+iy
,它返回以下复指数
ez=ex(cosy+isiny) .
%为范围 [0,10] 内的X值绘制y=lne^x也就是y=x
x = 0:0.1:10;
y = exp(x);%exp指的是e^x
figure
semilogy(x,y)%semilogy跟plot相比就是把纵轴取对数之后的值显示出来。
linespace(x1,x2(,step)), polyval(), polyfit()
log(x)即ln(x),表示其他对数用换底公式如 log39 用log(9)/log(3)表示z=polyfit(x,y,n),结果z为[p,s]
说明:x,y为数据点,n为多项式阶数,返回p为幂次从高到低的多项式系数向量p,矩阵s用于生成预测值的误差估计。
[y,DELTA]=polyval(p,x,s)
说明:y=polyval(p,x)为返回对应自变量x在给定系数P的多项式的值。
[y,DELTA]=polyval(p,x,s) 使用polyfit函数的选项输出s得出误差估计Y DELTA。它假设polyfit函数数据输入的误差是独立正态的,并且方差为常数。则Y DELTA将至少包含50%的预测值。
%在区间 [0,4*pi] 中沿正弦曲线生成 10 个等间距的点。
x = linspace(0,4*pi,10);
y = sin(x);
%使用 polyfit 将一个 7 次多项式与这些点拟合。
p = polyfit(x,y,7);
%在更精细的网格上计算多项式并绘制结果图,可以对比一下plot(x,y)和plot(x1,y1)。
x1 = linspace(0,4*pi);
y1 = polyval(p,x1);
% p =[-0.0001 0.0028 -0.0464 0.3702 -1.3808 1.9084 -0.1141 0.0002]有8个数据,表示7阶方程
figure%新开一个图形窗口
plot(x,y,'o')%'-o'表示数据点之间用-连接,数据点用o表示
hold on
plot(x1,y1)
hold off%%
计算多项式 p(x)=3x2+2x+1在点 x=5,7,9 处的值。
y = polyval(p,x)
计算多项式p
在x
的每个点处的值
```matlab
p = [3 2 1];%多项式系数可以由向量 [3 2 1]
表示。
x = [5 7 9];
y = polyval(p,x)
> 计算定积分![1572949006610](C:\Users\86132\AppData\Roaming\Typora\typora-user-images\1572949006610.png)
```matlab
%创建一个向量来表示多项式被积函数 3*x*^4^−4*x*^2^+10*x*−25。
p = [3 0 -4 10 -25];
%使用 `polyint` 和等于 `0` 的积分常量来对多项式求积分。
q = polyint(p)
%通过在积分极限上计算 `q`,求解积分的值。
a = -1;
b = 3;
I = diff(polyval(q,[a b]))
使用‘号转置或者在定义的时候用;分割可以构建列向量
inv(A,b)求逆???
PA行变换,AP列变换,P的逆=P的转置
eig特征值分解,
|x(k+1)-x(k)|<tol(tolrence??)
tol误差
eps误差
统一加%(选中输入%????)
fprintf(‘t=%7.4f’,t);的意思是输出的数字占7个字符位置,其中有4位是小数,fprintf(’ n=%7.2f\n’,n);的意思是输出的数字占7个字符位置,其中有2位是小数,\n是换行
例如t=45.43532452345 n=8.43532452345的时候输出
t=45.4353 n= 8.43
注意fprintf(’ n=%7.2f\n’,n);中’n='前面有三个空格,再有8.43不足7位,前面也要补空格
nargin的用法
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用它来设定一些默认值。如下例所示:
函数文件 examp.m
function fout=examp(a,b,c)
if nargin==1
fout=a;
elseif nargin==2
fout=a+b;
elseif nargin==3
fout=(a*b*c)/2;
end
另外一例:
function [x0, y0] = myplot(x, y, npts, angle, subdiv)
% MYPLOT Plot a function.
% MYPLOT(x, y, npts, angle, subdiv)
% The first two input arguments are
% required; the other three have default values ...
if nargin < 5, subdiv = 20; end
if nargin < 4, angle = 10; end
if nargin < 3, npts = 25; end
...
if nargout == 0
plot(x, y)
else
x0 = x;
y0 = y;
end
注:%x,y是两个变量,npt,angle,subdiv这三个参数具有默认值,不需要输入。
if nargin < 5, subdiv = 20; end如果输入变量的个数小于5个,那么给subdiv赋默认值。
if nargin < 4, angle = 10; end如果输入变量的个数小于4个,那么给angle赋默认值。
显示Fibonacci数列前n项:
function plotfibo(n)
fn=[1,1];
for i=3:n%fn的第三项到第n项
fn=[fn,fn(i-2)+fn(i-1)];
end
plot(fn)%plot(x1,y1,'参数',x2,y2,'参数'...)其中