目录
MatLab解方程
%方法一:roots()函数
clear;
clc;
%%本程序求解黄金分割比例
%r^2-r-1=0的解就是比值
p=[1,-1,-1];
%此数组代表了系数;
r=roots(p);
print_str=sprintf('r^2-r-1=0的解是:%f和%f\n',r);%sprintf()函数返回一个结果字符串
disp(print_str);
%方法二:slove()函数
clear;
clc;
syms r;
r2=solve(r^2-r-1,r);
print_str2=sprintf('r^2-r-1=0的解是:%f和%f\n',r2);
disp(print_str2);
MatLab计算定积分与不定积分
%不定积分
clc;
clear;
syms x;%定义一个符号
f='x';%定义一个原函数
F=int(f,x);%计算不定积分
disp(F);
%int()函数将计算结果以字符串的形式返回,这里用一个变量F接受
%disp(int(f,x))直接输出
G=int(f,x,0,10);%计算定积分,0为下限,10为上限
disp(G);
求导
%求导
%diff(函数),求一阶导
%diff(函数,n),求n阶导
%diff(函数,变量名,n),求n阶偏导
syms x
f=x*sin(x)+3*x*sin(x^2)*cos(x);
diff(f,4)
函数图像的绘制
%函数的图像
f=inline('x^2-x-1');
ezplot(f,-4,4); %使用inline和ezplot函数一起绘制函数图形
hold on;
zero1=fzero(f,1);%fzero()函数找到函数f在1附近的零点
zero2=fzero(f,-1);
plot(zero1,0,'*');
plot(zero2,0,'*');
matlab函数的编写及调用
学习案例
斐波那契数列是一个很有趣的数列,有趣的地方在两点,在说这两点之前,我们先来看看斐波那契数列的前几项:
1 1 2 3 5 8 13 21 34 ..........................................
有趣地方在于:
1、这个很容易发现,即后一个元素等于前两项元素之和:2 = 1 + 1, 3 = 1 + 2, 5 = 2 + 3 .......
2、这个有趣的地方,很少有人发现,前一项除以后一项大概约等于0.618...,后一项除以前一项等于1.618...,并且越靠后的数,这个结果就越精准。
那如何实现呢?
做东西之前先想思路,这个功能,我的思路大概是这样的:两个文件,一个文件中写的是计算斐波那契数的函数,另一个作为主文件运行、调用并且打印输出。(封装思想)
FeiBo.m文件
clear;clc;
close;
n=input('请输入第几个斐波那契数列:');
[res,HJ]=Fei_main(n);
print_str=sprintf('结果是');
disp(print_str);
disp(res);
disp(HJ);
Fei_mian().m文件
function [fibo,H]=Fei_main(n)
fibo=zeros(n,1);
H=zeros(n,1);
fibo(1)=1;
fibo(2)=1;
for i=3:n
fibo(i)=fibo(i-1)+fibo(i-2);
H(i)=fibo(i-1)/fibo(i);
end
return