repeat the cycle 10 times for non linear equations

조회 수: 1 (최근 30일)
sunitha
sunitha 2021년 1월 27일
답변: Kartik 2023년 9월 11일
i have these two equations . i want to find out the variables N ,J and remaining values are constant. J star is a function of J and N star is a function of N..If i give value No=3000, corresponding values i will get. i wrote the code for this and i got the values.Now i whatever the values i am getting final , i have to give the value that as No and i have to get the N and J values.like this i have to repeat 10 times.how can i write like this can anyone help me ??
example: No=3000, N =2500,J=34
No=2500,N=2000,J=67
like this i have to repeat 10 times
Qo*(1+R)*(No-N)-V*(aJ+X*k*N)/(Kn+N),
sqrt((Lstar^1.76)+5.2*(Nstar-Nstar_min))-(Lstar^0.88)/2.6==jstar^0.88
  댓글 수: 2
sunitha
sunitha 2021년 1월 28일
in the reference they didnt use iteratons . They ony solved equations

댓글을 달려면 로그인하십시오.

답변 (1개)

Kartik
Kartik 2023년 9월 11일
Hi,
To repeat the process of finding the values of 'N' and 'J' based on the previous results, you can use a loop in MATLAB. Here's an example code snippet that demonstrates how you can achieve this:
% Constants
Qo = 100; % Example value, replace with your constant
R = 0.05; % Example value, replace with your constant
V = 10; % Example value, replace with your constant
aJ = 0.1; % Example value, replace with your constant
X = 0.2; % Example value, replace with your constant
k = 0.3; % Example value, replace with your constant
Kn = 1000; % Example value, replace with your constant
Nstar_min = 100; % Example value, replace with your constant
% Number of iterations
numIterations = 10;
% Preallocate arrays to store results
No_values = zeros(numIterations, 1);
N_values = zeros(numIterations, 1);
J_values = zeros(numIterations, 1);
% Loop to solve equations and store results
for iter = 1:numIterations
% Assign current value of No
No = 3000; % Example value, replace with your desired values for each iteration
No_values(iter) = No;
% Solve equations for N and J
syms N J
eq1 = Qo*(1+R)*(No-N)-V*(aJ+X*k*N)/(Kn+N) == 0;
eq2 = sqrt((J^1.76)+5.2*(N-Nstar_min))-(J^0.88)/2.6 == 0;
sol = solve(eq1, eq2, N, J);
% Store N and J values
N_values(iter) = double(sol.N);
J_values(iter) = double(sol.J);
end
% Display the results
for iter = 1:numIterations
fprintf('No = %d, N = %d, J = %d\n', No_values(iter), N_values(iter), J_values(iter));
end
In this code, you start with an initial value for 'No' and then use a loop to repeat the process 10 times. In each iteration, the equations are solved using the 'solve' function, and the values of 'N' and 'J' are extracted from the solution. The results are then displayed, and the value of 'No' is updated for the next iteration.
You can modify the constants and initial values according to your specific requirements.

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by