MATLAB: Iteration Without the Implementation of Loops

iterationno loopssolve

I am interested in being able to run this particular code using i as the iterating vector. While this can easily be accomplished using a for-loop, I would like to do this without using loops of any kind. Essentially what I want is for the vector q to contain all ten values of F when q is solved for a given i-value. The issue currently is that F does not take any value of i, so I am left with an empty x-matrix in the end. I want to iterate for each value of i in the vector, but without using loops. Does anybody have any suggestions?
%%%Test program
%%Clear variables
close all;
clear all;
clc;
%%Definitions
syms q
x = [];
i = 1:10;
F = i - 2*q == 0;
solq = solve(F,q);
x = (x,solq)

Best Answer

q = sym('q',[1,10]);
i = 1:10;
F = i - 2*q == 0;
solq = solve(F,q)
solq =
struct with fields:
q1: [1×1 sym]
q2: [1×1 sym]
q3: [1×1 sym]
q4: [1×1 sym]
q5: [1×1 sym]
q6: [1×1 sym]
q7: [1×1 sym]
q8: [1×1 sym]
q9: [1×1 sym]
q10: [1×1 sym]
solq.q3
ans =
3/2
I suppose you could use an implicit loop too, in the form of cellfun. But the above works.