Trying to make a goal seek like program using fsolve?

27 ビュー (過去 30 日間)
Sean
Sean 2025 年 12 月 9 日 0:50
コメント済み: Walter Roberson 2025 年 12 月 9 日 2:25
this is the code I currently have
clear all; close all; clc
f= @(x) Average1(x)-65;
engineering= 30; % Intiall estimate
function Average = Average1(engineering) % final grade
engineering = fsolve0(f,engineering)
calculus= 55;
chemistry= 76;
physics= 85;
english= 50;
a= calculus+chemistry+physics+english+engineering;
Average = a/5;
end
when I try to run it i don't get any errors or outputs.
I am trying to make a program that will take 4 veriable values and a wanted avereage of 65 to find the 5th veriable (in this case engineering) minimum value to get a overall average of 65. I am unsure of what am doing wrong I know that the answer for Engineering should be 59 to get a average of 65.

採用された回答

Torsten
Torsten 2025 年 12 月 9 日 2:04
clear all; close all; clc
f= @(x) Average1(x)-65;
engineering= 30; % Intiall estimate
engineering = fsolve(f,engineering)
Equation solved. fsolve completed because the vector of function values is near zero as measured by the value of the function tolerance, and the problem appears regular as measured by the gradient.
engineering = 59.0000
f(engineering)
ans = 1.2486e-08
function Average = Average1(engineering)
calculus= 55;
chemistry= 76;
physics= 85;
english= 50;
a= calculus+chemistry+physics+english+engineering;
Average = a/5;
end
  1 件のコメント
Walter Roberson
Walter Roberson 2025 年 12 月 9 日 2:25
syms x
solve((55+76+85+50+x)/5 == 65)
ans = 
59

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by