[英]MatLab Quadratic Equation With ln
如何使用已知的Matlab命令求解函數f(x)=ln(x^2)-0.7=0
?
clc;clear all;close all;
f(x)=ln(x^2)-0.7=0
B=sqrt f(x)
將以下代碼放入MATLAB腳本中,將其命名為“main.m”。
function b=main
clc
x=solveF()
y=f(x)
b=sqrt(y)
end
function y=f(x)
y=log(x^2)-0.7
end
function x=solveF()
g = @(x) abs(f(x)-0)
x = fminsearch(g, 1.0)
end
然后運行它:
main
你會得到結果:
x =
1.4190
y =
-3.4643e-05
b =
0.0000 + 0.0059i
ans =
0.0000 + 0.0059i
您可以在matlab中定義方程式:
f = @(x) log(x^2)-0.7;
B = @(x) sqrt(f(x));
如果要查找滿足約束的x
值,可以設計一個在約束條件時等於零的函數,然后調用fminsearch查找x
:
f_constraint = @(x) abs(f(x)-0);
x_opt = fminsearch(f_constraint, 1.3); % function handle, initial estimate
在您的示例中, B(x_opt)
應該等於零。 事實並非如此,因為fminsearch估計了一個解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.