How to solve for subscripted assignment mismatch error in for loop?
    2 views (last 30 days)
  
       Show older comments
    
I am trying to solve an equation for a variable given another variable values and a parameter. Gamma is the given variable and I will solve for K. I tried using for loop, but I cannot get the solution due to an error: Subscripted assignment dimension mismatch.
c=5;
rho=0.06;
mu=0;
psi=1; 
i=1;
sigma = 0.1;
gamma = 0:0.01:0.2;
beta_1 = 1/2 - mu/sigma^2 + sqrt((mu/sigma^2 - 1/2)^2 + 2*rho/sigma^2);
solK = zeros(1,21);
for n = 0:20
      K = sym('K');
      eqn = (beta_1-2)*psi*K/(c*rho) - (rho + beta_1*0.01*n*K)/(rho + 0.01*n*K)^2 == i/c;
      solK(1,n+1) = solve(eqn, K);
end
4 Comments
  Geoff Hayes
      
      
 on 31 Mar 2015
				Anuudari - what does solve(eqn, K) return? Put a breakpoint at this line and then run your code. When the debugger pauses here, run
 solve(eqn, K)
in the Command Window. Look at the result and its type by using class. When you have done so, does it make sense to assign the above to
 solK(1,n+1)
Answers (1)
  Stalin Samuel
      
 on 29 Mar 2015
        i am not sure but if you do like below error removed
solK(n+1) =solve(eqn, K);
0 Comments
See Also
Categories
				Find more on Creating and Concatenating Matrices in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

