文章目录
一、求x^2-3x+1=0的根
1.方法一: 使用多项式求根函数roots
p=[1,-3,1];
x=roots(p)
x=2.6180
0.3820
x=-5:0.1:5;//产生x向量从-5到5 布长为0.1
y1=x.*x-3*x+1;求函数值y1
y2=zeros(size(x));产生跟x大小相同的零向量
plot(x,y1,x,y2);画x关于y的图
方法二:利用fzero()函数求方程在某个初始点附近的实根
f=@(x) x*x-3*x+1;//利用matlab的匿名函数,来定义f(x)
x1=fzero(f,0.5) // 在f(x)=0在x=0.5和在x=2.5的实根
x1=
0.3820
x2=fzero(f,2.5)
x2=
2.6180
方法三:利用最优化工具箱中的方程求根函数fsolve。
f=@(x) x*x-3*x+1;
x1=fsolve(f, 0.5, optimset('Display', 'off'))//设置优化参数
x2=fsolve(f, 2.5, optimset('Display', 'off'))//设置优化参数
# 二、使用步骤
## 1.引入库
方法四:利用solve函数求方程的符号解,即求得的解是一个表达式。
syms x//定义符号函数x
x=solve(x^2-3*x+1)//求根(符号解)
x=eval(x)//将符号解转化成数值解
。
二、数值类型
1.整型
x=int8(129) //127最大值
x=127
x=unit8(129) //没有超过256无符号类型的最大值
x=129
2.浮点型
>>class(4)
ans=double
>>class(single(4))转为单精度
>>ans=single
>>class(double(4))转为双精度
ans=double
3.复数
real()函数: 求复数的实部
imag()函数: 求复数的虚部
三、数值数据的输出格式
format 格式符 改变数值类型,只是影响数据输出格式,而不影响数据的计算和存储
四、常用的数学函数
(1)函数的调用格式:
函数名(函数自变量的值)
(2)exp()求自然指数
(3)常用函数的应用
①三角函数有以弧度为单位和以角度为单位,如果以角度为单位的函数就在函数名后面加d
②abs()函数可以求实数的绝对值,复数的模、字符串的ascall码值
③round函数按照四舍五入的规则取整
④ceil函数是向上取整,取大于等于
⑤floor函数是向下取整,取小于等于
⑥fix函数是固定取靠近0的那个整数
⑦rem()取余
例1 分别求一个三位正整数的个位数字、十位数字和百位数字。
m=345;
m1=rem(m,10)
m2=rem(fix(m/10),10)
m3=fix(m/100)
⑧isprime()取素数
例2 求[1,100]区间的所有素数。
x=1:100;
k=isprime(x);
k1=find(k);
p=x(k1)
五、矩阵
1.直接建立法
a=[1,2,3;4,5,6;7,8,9];
2.利用已经建立好的矩阵再去建立矩阵
a=[1,2,3;4,5,6;7,8,9];
b=[-1,-2,-3;-4,-5,-6;-7,-8,-9];
c=[a,b;b,a];
3.冒号表达式
(1)
(2)
(3)结构矩阵和单元矩阵
①结构矩阵
②单元矩阵
将所有元素用大括号括起来就是单位矩阵
六、结构的引用方式
(1)通过下标来引用
a(4,5) 如果超出现有矩阵的大小,矩阵会自动扩展,未赋值的部分会赋值为0
(2)通过序号来引用
a(3) 表示矩阵中的元素a(1,2)
以m行n列为例,矩阵a(i,j)的序号为(j-1)乘m+i
sub2ind 将矩阵中的行列下标转换为序号
ind2sub 将矩阵中的序号转换为行列
S=size(A) size(A)是包含矩阵A的行数和列数
(3)利用冒泡排序获得子矩阵
(4)x=[]可以将矩阵置空
(5)改变矩阵的形状
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m×n的二维矩阵