一元方程
% 先用syms声明变量x
syms x;
% 用solve()函数解方程,返回x的解
x = solve(9 == 3 * x - 6)
% Tips1:sym和syms的区别:
%% syms是定义符号变量
%% sym是将字符或者数字转换为字符:y = sym('a+b')
二元方程组
% 多个变量,中间用空格隔开
syms x y;
% 调用vpasolve()函数,返回[x,y]的解。
[x, y] = vpasolve(15 == 3 * x + 2 * y, 5 == 2 * x + 2 * y);
% Tips:solve()与vpasolve()函数的区别:前者是符号解,是准确解;后者是数值解。
Matlab内置解方程的函数:solve, vpasolve, fsolve, fzero, roots的区别
其他可能会用到的Tips
- 圆周率在matlab中:pi
- 三角函数例如tan(),传参要传弧度值,如果是角度值,用tand(a)或者tan(deg2rad(a))。
- 如果求解过程涉及到很长的小数,打印输出的可能会是一个中间结果,可以double(x)一下。
- 函数的定义:
% 函数名称: fun_test()
% 参数:a,b
% 输出:c,d
function [c,d] = fun_test(a,b)
c = a + b;
d = a - b;
end
- 打印输出:
- 不加后面的 ';' 会打印当前值
- 多个输出,使用中括号[],中间用逗号隔开,eg:[a, b, c]
- 用fprintf()函数,eg:fprintf('%.6f\n', a, b);