Matlab & Mathematica 解符号方程组
来源:互联网 发布:剑三花爹数据 编辑:程序博客网 时间:2024/06/05 20:31
Matlab & Mathematica 求解方程组:
Matlab:
解方程
syms a1 b1 c1syms a2 b2 c2syms x y[x,y] = solve( 'a1*x + b1*y + c1 == 0', 'a2*x + b2*y + c2 == 0', 'x','y')simplify(x)simplify(y)
三点求齐次变换矩阵
syms a1 a2 b1 b2 c1 c2;syms x1 y1 z1 A1 B1 C1; %原点坐标syms dzx dzy; % 向量[dzx dzy 1]vx = [a1,b1,c1];Nx = norm(vx);v2 = [a2,b2,c2];vz = cross(vx,v2)Nz = norm(vz);vy = cross(vz,vx)Ny = norm(vy);mat = [ a1/Nx vy(1)/Ny vz(1)/Nz x1; b1/Nx vy(2)/Ny vz(2)/Nz y1; c1/Nx vy(3)/Ny vz(3)/Nz z1; 0 0 0 1];%% 随便计算验证一下p1 = [1 2 3 1.1 1 1.3]; % 原点p2 = [2 3 6 1.1 1 1.2]; % x轴上任意一点p3 = [5 3 7 1.1 1 1.0]; % x-y平面任意一点p21 = p2-p1;p31 = p3-p1;re = subs(mat, {a1,b1,c1,a2,b2,c2,x1,y1,z1},{p21(1),p21(2),p21(3), p31(1),p31(2),p31(3), p1(1),p1(2),p1(3)})R = re(1:3,1:3);R*R'; % 单位矩阵tra = vpa(re,5); % 获得数值矩阵tra*[0 0 0 1]' % 将坐标系1下的原点转换到坐标系0,即得到p1
如果需要用实际数值替换某个符号变量,使用 subs 函数,或者 对符号变量赋值,然后使用 eval 函数。
Mathematica:
解方程
sol = Solve[ a1*x + b1*y + c1 == 0 && a2*x + b2*y + c2 == 0, {x,y}]// 因为 MMA 计算结果是一个Rule:{x->xxx , y->xxx},因此需要利用这个Rule得到解,/.表示全部应用规则,例如:f[x_]:=x+1+y,即出现x的地方用x+1+y替换。x/.soly/.sol在 MMA 中如果需要将结果进一步计算,可应用规则:f[x,y]/.solSimplify[%]// 将表达式转化为C/C++语言格式CForm[%]
1 0
- Matlab & Mathematica 解符号方程组
- MATLAB符号数学解非线性方程组 -- 眼球反射模型
- Matlab符号计算与方程组求解
- matlab解方程组
- matlab 解方程组
- matlab解状态方程组
- matlab解方程、方程组
- 用matlab求解符号方程及符号方程组
- 用matlab解非线性方程组
- matlab中求解由符号表达式组成的非线性方程组
- Mathematica 二维符号
- mathematica符号简写
- MATLAB学习笔记(五):符号计算(符号矩阵+代数方程组求解)
- MATLAB 牛顿迭代法解非线性方程组
- 计算矛盾方程组MatLab
- MATLAB求解非线性方程组
- MATLAB求解方程组
- Matlab求解微分方程组
- 【算法C++】十进制字符串转十六进制字符串
- C#实现多线程
- 解决IE8以上乱码
- 两个数据库进行数据比对(DataTable对比)
- Hihocoder 1236 Scores【分块+bitset】
- Matlab & Mathematica 解符号方程组
- mule有关软件下载地址
- UML类图的几种关系
- lua中的pairs和ipairs
- 面试题43:n个骰子的点数(《剑指offer》)
- android画折线图之一AChartengine
- URAL 1198 Jobbery (强连通分量 Gabow)
- Oracle-trace文件分析
- 使用tableView中的cell来实现单选效果