Effacer les filtres
Effacer les filtres

How to concatenate array with delimeter?

2 vues (au cours des 30 derniers jours)
Laurensius Christian Danuwinata
a1 = [0 32];
c1 = ([31 63]);
d1 = unique([a1 c1]);
first = ['[' num2str(d1(1)) ':' num2str(d1(2)) ']'];
second =['[' num2str(d1(3)) ':' num2str(d1(4)) ']'];
preresult= [ first second];
result = ['{' preresult '}'];
%result = {[0:31][32:63]}
How can I make this code worked more generally, for any values of a1 and c1? I've tried with this :
newArray =[];
for i=1:length(a1)
newArray(length(newArray)+1)= [ '[' num2str(a1(i)) ':' num2str(c1(i)) ']' ]
end
But it said Subscripted assignment dimension mismatch. Can someone help me maybe? :(
  1 commentaire
jgg
jgg le 22 Déc 2015
Are you sure this is doing what you want it to? The matrix [0 32] is not the same as the matrix [0:32]?

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 22 Déc 2015
This looks to be related to your other question, so I'll reiterate here what I said there:
The bit pattern is not made up of strings, you're barking up the wrong tree. It is a cell array of double vectors and it's simply:
result = arrayfun(@(s, e) s:e, a1, c1, 'UniformOutput', false);
Or if arrayfun is too dauting for you, with a loop:
result = cell(size(a1));
for iter = 1:numel(a1);
result{iter} = a1(iter) : c1(iter);
end
  1 commentaire
Laurensius Christian Danuwinata
Thanks Guillaume, I did this in the end : for iter = 1:numel(a);
result{iter} = ['[' num2str(a(iter)) ':' num2str(c(iter)) ']'];
end
HORE = char(['{' result '}']);
set_param('can_examples/Subsystem/CAN bit-packing 1','bitpatterns', HORE);
and it worked, but just for the first iteration, afterwards it said,
Error evaluating 'MassCallback' ...; Field assignment to a non-structure array object.
If you don't mind, I can also send the files to you, regardless,
it was the very big help from you, thanks once again :D

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by