Vraagje over structures en matrices in matlab

Moderators: jkien, Xilvo

Reageer
Berichten: 2

Vraagje over structures en matrices in matlab

Hallo,

Ik heb een vraagje over structures in Matlab. Stel, ik heb de volgende structure:
auto.model
Aan deze structure wil ik een veld toevoegen zodat dat wordt:
auto.model.weerstand
Voor "weerstand" heb ik een matrix "resistance" met 1000 rijen en 3 kolommen (stappen van tijd in de rijen en coordinaten in de kolommen). Nu mijn vraag:

Hoe kan ik deze matrix aan de structure toevoegen zonder een loop te gebruiken waarbij ieder element afzonderlijk wordt ingevoegd?

Ik wil dit graag omdat het totale programma erg groot gaat worden en ik zo veel mogelijk loops wil vermijden vanwege de rekentijd.

Wat ik heb geprobeerd is:
auto.model(: ).weerstand(1) = resistance(:,1)
auto.model(: ).weerstand(2) = resistance(:,2)
auto.model(: ).weerstand(3) = resistance(:,3)
Ik krijg dan de volgende foutmelding:

??? Scalar index required for this type of multi-level indexing.

Alvast bedankt voor de hulp.

Bruce Almighty

Gebruikersavatar
Berichten: 7.224

Re: Vraagje over structures en matrices in matlab

Begrijp ik het goed dat je 1000 modellen hebt met elk 3 weerstanden? Waarom zou je dat niet in de matrix resistance willen laten zitten?
If I have seen further it is by standing on the shoulders of giants.-- Isaac Newton

Berichten: 2

Re: Vraagje over structures en matrices in matlab

Het gaat meer om het voorbeeld, het werkelijke probleem is een stukje complexer. De opdracht waar ik mee werk is onderdeel van een groot stuk software waar we met een aantal mensen aan werken. Er zijn afspraken gemaakt om die structuur zo in te vullen. De namen en waardes komen dan ook niet overeen met de werkelijkheid. Ik zou zelf ook die matrix "resistance" laten staan.

Blijft de vraag even goed staan. Kan ik zonder een loop te gebruiken een matrix in een structure zetten?

Ik wil dus, volgens het voorbeeld, het volgende krijgen:
auto.model(1).weerstand(1)
.....
auto.model(1000).weerstand(1)
En dat dat ook voor weerstand(2) en weerstand(3).

Alvast dank

Reageer