# problem with taking Differentiate from variable with counter !

1 Ansicht (letzte 30 Tage)
shahin hashemi am 26 Apr. 2018
Kommentiert: shahin hashemi am 26 Apr. 2018

dear all

i need to write a code that have x symbolic variable that contain x=[x1 x2 x3 .... xn] and also x is depended to variable t (time).at last i want to Differentiate from x. for 3 or 4 x it is easy to write code like below :

```>> syms x1(t) x2(t) x3(t)
>> x=[x1 x2 x3]
```
```x(t) =
```
```[ x1(t), x2(t), x3(t)]
```
```>> diff(x,t)
```
```ans(t) =
```
```[ diff(x1(t), t), diff(x2(t), t), diff(x3(t), t)]
```

now when i want to write code that contain 30 x it is difficult to this in this way

i also try this but it doesnt work :

```>> syms t
>> x(t) = sym('x%d',[1 4])
```
```x(t) =
```
```[ x1, x2, x3, x4]
```
```>> diff(x,t)
```
```ans(t) =
```
```[ 0, 0, 0, 0]
```

is there any way to do this in this way and if it is i also need a way to call the specific x

for example :

```for i=1:3
for j=1:3
xij(t)=...
end
end
```

i know writing in this way is wrong but just for clearing my idea i really appreciated if someone could help me

##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Birdman am 26 Apr. 2018
Bearbeitet: Birdman am 26 Apr. 2018
Well, the approach would be as follows:
n=30;
x=sym(zeros(1,n));%preallocation
syms t
for i=1:n
x(i)=str2sym(sprintf('x%d(t)',i));
end
Now, you can easily take derivative of x as
diff(x,t)
and observe the result you want.
##### 3 Kommentare1 älteren Kommentar anzeigen1 älteren Kommentar ausblenden
Birdman am 26 Apr. 2018
Then use sym instead of str2sym:
n=30;
x=sym(zeros(1,n));%preallocation
syms t
for i=1:n
x(i)=sym(sprintf('x%d(t)',i));
end
shahin hashemi am 26 Apr. 2018
Ty for your answer mr birdman i search and figure out that str2sym add to matlab in 2017b
i use sym and i got my answer but is there any benefit in useing this command is stead of sym

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Assumptions finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by