【发布时间】:2019-03-05 09:52:58
【问题描述】:
我正在尝试使用 Matlab 找到以下方程的唯一解
norm(a,2)=0.11
当x 是一个变量并且a=[x abs(1/x);x+1 1/x] 时。 b 是norm(a,2) 的精确表述,我得到了:
syms x
a=[x abs(1/x);x+1 1/x];
b = norm(a,2)
b = max(abs(2*x + x*abs(x)^2 + 2*x*abs(x)^4 + abs(x)^4 + x^2*abs(x)^2 - (4*x*abs(x)^5 + 2*x*abs(x)^6 + 4*x*abs(x)^8 + abs(x)^8 + 8*x^2*abs(x)^3 + x^2*abs(x)^4 + 4*x^3*abs(x)^3 + 2*x^3*abs(x)^4 + 6*x^2*abs(x)^6 + x^4*abs(x)^4 + 4*x^3*abs(x)^6 + 4*x^2*abs(x)^8 + 4*x^2)^(1/2))/(2*abs(x)^3), abs(2*x + x*abs(x)^2 + 2*x*abs(x)^4 + abs(x)^4 + x^2*abs(x)^2 + (4*x*abs(x)^5 + 2*x*abs(x)^6 + 4*x*abs(x)^8 + abs(x)^8 + 8*x^2*abs(x)^3 + x^2*abs(x)^4 + 4*x^3*abs(x)^3 + 2*x^3*abs(x)^4 + 6*x^2*abs(x)^6 + x^4*abs(x)^4 + 4*x^3*abs(x)^6 + 4*x^2*abs(x)^8 + 4*x^2)^(1/2))/(2*abs(x)^3))^(1/2)
我试过solve(),结果如下:
solve(b==0.11,x)
Warning: Cannot find explicit solution.
ans = 空符号:0×1
任何有关解决上述方程的合适方法的帮助将不胜感激。
【问题讨论】:
-
顺便说一句:
norm(a,2)等同于norm(a),2是多余的。 -
请出示minimal reproducible example - 可能没有解决方案?
-
你想要
fminsearch或fmincon。您需要将其作为一种最小化方法来解决它 -
你有没有用数字检查过是否有解决方案?