用matlab解方程组的问题,五个方程求解四个未知数。 请教:在matlab解方程组中,5个未知数,4个方程的方程组...

matlab\u89e3\u65b9\u7a0b\u7ec4\u95ee\u9898\uff0c\u4e94\u4e2a\u65b9\u7a0b\uff0c\u6709\u56db\u4e2a\u672a\u77e5\u6570\uff0c\u6309\u7167\u4e0b\u9762\u5199\u7684\u89e3\u4e0d\u51fa\u6765\uff0c\u8bf7\u9ad8\u624b\u5e2e\u5fd9\u3002

\u6539\u7528\u6570\u503c\u89e3\uff1a
1\u3001\u7f16\u5199\u51fd\u6570\uff1a
function f=fun2(in)
x=in(1);y=in(2);z=in(3);t=in(4);
f(1)=((500-x)^2+(3300-y)^2+z^2)/(21.15-t)^2-((3200-x)^2+(3100-y)^2+z^2)/(17.95-t)^2;
f(2)=((300-x)^2+(200-y)^2+z^2)/(19.4833-t)^2-((3400-x)^2+(100-y)^2+z^2)/(16.8167-t)^2;
f(3)=((800-x)^2+(1600-y)^2+z^2)/(14.85-t)^2-((2500-x)^2+(1900-y)^2+z^2)/(10.2333-t)^2;
f(4)=((1400-x)^2+(2200-y)^2+z^2)/(13.2833-t)^2-((2300-x)^2+(2800-y)^2+z^2)/(14.7833-t)^2;
f(5)=((1700-x)^2+(700-y)^2+z^2)/(11.7667-t)^2-((2900-x)^2+(900-y)^2+z^2)/(11.7667-t)^2;

2\u3001\u8c03\u7528\u6c42\u89e3\uff1a
fsolve(@(x)fun2(x),x0);% x0\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u786e\u5b9a\u51fa\u5927\u81f4\u8303\u56f4\u5373\u53ef

\u6539\u7528\u6570\u503c\u89e3\uff1a
1\u3001\u7f16\u5199\u51fd\u6570\uff1a
function f=fun2(in)
x=in(1);y=in(2);z=in(3);t=in(4);
f(1)=((500-x)^2+(3300-y)^2+z^2)/(21.15-t)^2-((3200-x)^2+(3100-y)^2+z^2)/(17.95-t)^2;
f(2)=((300-x)^2+(200-y)^2+z^2)/(19.4833-t)^2-((3400-x)^2+(100-y)^2+z^2)/(16.8167-t)^2;
f(3)=((800-x)^2+(1600-y)^2+z^2)/(14.85-t)^2-((2500-x)^2+(1900-y)^2+z^2)/(10.2333-t)^2;
f(4)=((1400-x)^2+(2200-y)^2+z^2)/(13.2833-t)^2-((2300-x)^2+(2800-y)^2+z^2)/(14.7833-t)^2;
f(5)=((1700-x)^2+(700-y)^2+z^2)/(11.7667-t)^2-((2900-x)^2+(900-y)^2+z^2)/(11.7667-t)^2;

2\u3001\u8c03\u7528\u6c42\u89e3\uff1a
fsolve(@(x)fun2(x),x0);% x0\u53ef\u4ee5\u6839\u636e\u5b9e\u9645\u786e\u5b9a\u51fa\u5927\u81f4\u8303\u56f4\u5373\u53ef

方程数大于未知量个数,属于超定方程组,一般没有精确解,只能求最小二乘解。matlab中可以利用左除或伪逆法求解。
clear
c1=10496.108; c2=10500.275; c3=10504.442; c4=10508.609; c5=10512.776;
A=[1,c1,c1^2,c1^3; 1,c2,c2^2,c2^3; 1,c3,c3^2,c3^3; 1,c4,c4^2,c4^3; 1,c5,c5^2,c5^3;];
B=[-3043766.03 ;-3042809.53;-3041787.84;-3040701.05;-3039549.25];
xyzt=pinv(A)*B %伪逆法求解
%xyzt=A\B %左除法

xyzt =
1.0e+004 *
0.0005
1.8316
-0.0004
0.0000

把系数写成矩阵,然后直接用等号右边的矩阵除以系数矩阵,或者直接用solve函数,看看帮助,里面写的很详细

超定方程

可以用fsolve函数求解

有时间的话就帮你做了

  • 鎬庝箞鐢∕atlab瑙f柟绋?
    绛旓細6銆佹渶鍚庝竴绫绘柟绋嬶紝鏄竴鍏冧竴娆鏂圭▼缁銆傝繖鏄matlab鏈鎿呴暱鐨勮繍绠楋紝鍙互浣跨敤鐭╅樀杩涜姹傝В銆傚浜庨綈娆$嚎鎬ф柟绋嬫潵璁诧紝浣跨敤null(A,r)銆傚叾涓璻琛ㄧず浣跨敤绠鍖栭樁姊瀷琛屽垪寮忔眰瑙c傚浜庡涓嬬殑鏂圭▼锛屽彲浠ヨВ寰楃嚎鎬ф棤鍏崇殑涓缁勮В銆傝繖鏍凤紝鎴戜滑杩樺彲浠ュ紩鍏ュ父閲弅1涓巏2琛ㄨ揪閫氳В銆7銆佸浜庣嚎鎬ч潪榻愭鐨瑙o紝鍙互浣跨敤linsolve(A,b)銆...
  • matlab瑙f柟绋嬬粍
    绛旓細1. 浣跨敤绗﹀彿璁$畻宸ュ叿绠辫В鏂圭▼缁 褰撴柟绋嬬粍鏄鍙疯〃杈惧紡鑰岄潪鍏蜂綋鏁板兼椂锛屽彲浠ヤ娇鐢∕ATLAB鐨勭鍙疯绠楀伐鍏风鏉ユ眰瑙銆傝繖涓伐鍏风鍏佽浣犲畾涔夌鍙峰彉閲忓苟鏋勫缓绗﹀彿琛ㄨ揪寮忔柟绋嬬粍銆傚叿浣撴楠ゅ涓嬶細瀹氫箟绗﹀彿鍙橀噺锛屼緥濡備娇鐢╜syms x y`瀹氫箟鍙橀噺x鍜寉銆傚缓绔嬬鍙疯〃杈惧紡鏂圭▼缁勶紝渚嬪浣跨敤`eq1 = ...`鍜宍eq2 = ...`鏉ュ畾涔...
  • 濡備綍鐢╩atlab瑙f柟绋嬬粍?
    绛旓細P(XY=0)=1,鍗砐銆乊閮戒笉鏄0鐨勬鐜囦负0锛孭(X=1,Y=1)=P(X=-1,Y=1)=0,缁撳悎浜岀淮绂绘暎闅忔満鍙橀噺鐨勬潯浠跺垎甯冨緥鏉ュ仛锛孹=-1鏉′欢涓嬮殢鏈哄彉閲廥鐨勬潯浠跺垎甯冨緥涔嬪拰涓1锛屽嵆P(Y=1|X=-1)+P(Y=0|X=-1)=1,鐢变箻娉曞叕寮廝(AB)=P(B|A)P(A)鍙煡锛屽洜涓篜(X=-1,Y=1)=0锛屾墍P(Y=1|X=-1)...
  • matlab閲屾庝箞瑙f柟绋嬬粍?
    绛旓細matlab瑙f柟绋嬬粍lnx琛ㄧず鎴恖og(x)鑰宭gx琛ㄧず鎴恖og10(x)1-exp(((log(y))/x^0.5)/(x-1))1銆佽В鏂圭▼鏈杩戞湁澶氫汉闂浣鐢╩atlab瑙f柟绋嬬粍鐨勯棶棰橈紝鍏跺疄鍦╩atlab涓В鏂圭▼缁勮繕鏄緢鏂逛究鐨勶紝渚嬪锛屽浜庝唬鏁版柟绋嬬粍Ax=b(A涓虹郴鏁扮煩闃碉紝闈炲寮)鐨勬眰瑙o紝MATLAB涓湁涓ょ鏂规硶锛(1)x=inv(A)*b鈥旈噰鐢ㄦ眰閫嗚繍绠...
  • matlab鎬庝箞姹傝В涓鍏冧簩娆鏂圭▼鐨勬柟绋嬬粍鍟!
    绛旓細1銆侀鍏堢湅涓涓matlab姹傝В鏂圭▼鐨鏂规硶锛屾寚鏄庢墍瑙f柟绋嬬殑鍙橀噺锛岀劧鍚庢寚鏄庢柟绋嬶紝鏈煡鏁板拰闄愬埗鏉′欢锛屾渶鍚庢眰瑙f柟绋嬨2銆佹潵姹傝Вsin(x)=1鏂圭▼锛屽湪matlab鍛戒护琛岀獥鍙d腑杈撳叆symsx [x,params,conds]=solve (sin(x)==1,'ReturnConditions', true) 锛屾寜鍥炶溅閿彲浠ュ緱鍒鏂圭▼瑙o紝濡備笅鍥炬墍绀恒3銆佽浆鎹竴涓嬶紝鍙互鐪嬪埌sin...
  • 濡備綍鍦∕ATLAB涓皟鐢╯olve鍑芥暟姹傝В鐨缁撴灉
    绛旓細鍦∕ATLAB涓紝鎮ㄥ彲浠ヤ娇鐢╯olve鍑芥暟鏉ヨВ鍐崇鍙鏂圭▼缁銆俿olve鍑芥暟鐨勮緭鍑烘槸涓涓粨鏋勪綋锛屽叾涓寘鍚瘡涓湭鐭ュ彉閲忕殑瑙c備负浜嗕娇鐢ㄨ繖浜瑙o紝鎮ㄥ彲浠ヤ娇鐢ㄧ粨鏋勪綋鐨勫瓧娈靛悕鏉ヨ闂瘡涓В銆備緥濡傦紝鍋囪鎮ㄦ湁浠ヤ笅绗﹀彿鏂圭▼缁勶細syms x yeqns = [x + y == 10, x - y == 2];鎮ㄥ彲浠ヤ娇鐢╯olve鍑芥暟鏉姹傝В杩欎釜鏂圭▼缁勶細sol =...
  • 鐢∕ATLAB鎬庝箞瑙d簩鍏冧簩娆鏂圭▼缁
    绛旓細鐢╩atlab瑙浜屽厓浜屾鏂圭▼缁勶紝鍙互鐩存帴鐢╯olve锛堬級鍑芥暟鏉ユ眰瑙c備緥濡傦細>>[x,y] = solve('x^2*y^2 - 2*x - 1 = 0','x^2 - y^2 - 1 = 0')杩愯缁撴灉 瀵逛簬杈冨鏉傜殑鏂圭▼锛屼篃鍙互鐢ㄦ暟鍊煎垎鏋愮殑鏂规硶锛屽fsolve锛堬級鍑芥暟銆佷簩鍒嗘硶锛岀墰椤挎硶锛屾眰鍑哄叾鏁板艰В銆
  • MATLAB鐢╯olve瑙f柟绋嬬粍鍚庡浣鍦绋嬪簭涓皟鐢ㄨВ鐨勭粨鏋?
    绛旓細浣跨敤MATLAB鐨剆olve鍑芥暟鍙互姹傝В鏂圭▼缁勶紝瑙g殑缁撴灉鍙互閫氳繃璧嬪肩粰鍙橀噺鏉ヤ繚瀛樸備緥濡傦紝鍋囪鎴戜滑鏈変互涓嬫柟绋嬬粍锛歺 + y = 52x - y = 1 鎴戜滑鍙互浣跨敤solve鍑芥暟姹傝В锛歴yms x y[x, y] = solve(x + y == 5, 2*x - y == 1);鍦ㄧ▼搴忎腑锛屾垜浠彲浠ラ氳繃鍙橀噺x鍜寉鏉ヨ皟鐢ㄨВ鐨勭粨鏋溿備緥濡傦紝鎴戜滑鍙互灏嗚В...
  • 濡備綍鐢╩atlab瑙绾挎鏂圭▼缁?
    绛旓細濡備笅锛歩nclude<stdio.h> include<math.h> disc=b*b-4*a*c;p=-b/(2.0*a);q=sqrt(disc)/(2.0*a);x1=p+q;x2=p-q;printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);return 0銆
  • 濡備綍鐢╩atlab瑙f柟绋嬬粍?
    绛旓細鎺ヤ笅鏉ョ湅绗簩涓闂锛姹傝ВAx = x鐨勬儏鍐点鍦杩欑鎯呭喌涓嬶紝x鏄潪闆朵笖涓巈1姝d氦鐨勶紝閭d箞x鍙互鍐欐垚浠ヤ笅褰㈠紡锛歺 = 伪 * e2 + 尾 * e3 鍏朵腑伪銆佄蹭笉鍏ㄤ负0銆傛妸琛ㄨ揪寮忓甫鍏ュ埌鏂圭▼涓緱鍒:A(伪e2+尾e3) = (伪*位2)e2 + (尾位3)e3 = kx k鏄垜浠鎵剧殑姣斾緥鍥犲瓙銆傞氳繃姣旇緝绯绘暟锛屽彲浠ュ緱鍑哄叧浜幬...
  • 扩展阅读:matlab解xy方程组 ... matlab解方程解出数值解 ... 怎么用matlab解多元方程 ... matlab解三元方程组编程 ... matlab求方程组的唯一解 ... 如何用matlab解二元方程 ... matlab解方程组solve ... matlab解二阶微分方程组 ... matlab解符号方程组 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网