Matlab - Error en set

 
Vista:
sin imagen de perfil

Error en set

Publicado por Bere (24 intervenciones) el 10/05/2016 02:56:49
1
2
3
4
5
6
7
8
9
10
subplot(221)
           f=plot(x,z)
           NameArray = {'LineStyle'};
ValueArray = {'-','-*'}';
set(f,NameArray,ValueArray)
Error using set
Value cell array handle dimension must match handle vector length

Error in pruebas (line 146)
set(f,NameArray,ValueArray)

Tengo todo el día intentando que un ciclo me grafique las lineas diferentes y trato de usar el set pero me arroja ese error. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Error en set

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/05/2016 14:29:04
1
2
3
4
5
6
7
8
9
>> clear all
close all
ValueArray = {'-','-*'}';
for i=1:2
x=linspace(0,pi);
z=sin(i*x);
subplot(2,2,i)
 plot(x,z,ValueArray{i})
end

Saludos.
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
El correo es para servicios de programación, toda ayuda gratuita es vía foro.



http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error en set

Publicado por Bere (24 intervenciones) el 10/05/2016 18:51:28
el problema es que tengo cerca de 4 ciclos y cuando quiero poner otro ciclo en lugar de hacer lo que debería me hace más figuras de las que debe, ya intente cambiando el for pero no puedo. Igual intentare así. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error en set

Publicado por Bere (24 intervenciones) el 10/05/2016 19:02:55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
clear all; close all; clc;
load TOP_PROF
 
fechas = ['28Nov12';'03Dic12';'11Dic12';'26Dic12';'09Ene13';'24Ene13';'07Feb13';'21Feb13';'07Mar13';'19Sep13';'03Oct13';'17Oct13';'03Nov13';'18Nov13';'05Dic13';'17Dic13';'30Ene14';'13Feb14';'24Feb14';'03Mar14';'11Mar14';'22Abr14';'06May14';'20May14';'17Jun14';'15Jul14';'12Ago14';'10Sep14';'08Oct14';'06Nov14'...
	;'24Nov14';'04Dic14';'18Dic14';'07Ene15';'20Ene15';'17Feb15';'17Mar15';'04Jun15';'17Jun15';'16Jul15';'03Ago15';'01Sep15';'29Sep15';'26Oct15';'25Nov15';'09Dic15';'19Ene16';'05Feb16';'08Mar16'];
tamano=get(0,'ScreenSize');
figure('position',[tamano(1) tamano(2) tamano(3) tamano(4)]);
 
 
for i=[16,17,19,20,21,22,23,29];
	eval(['M=TOP_PROF.tp_',fechas(i,:),';'])
 
	for r =15
		eval(['g=M.P',num2str(r),';'])
		x = g(:,1);
		y = g(:,2);
		z = g(:,3);
		subplot(221)
		ValueArray = {'-b','-r','-*b','-*r','-.b','-.r','--b','--r'}';
for i=1:8
plot(x,z,ValueArray{i})
end
	
		hold on
		legend ('T8 antes','T8 después','T9 antes', 'T9 después', 'T10 antes','T10 después','T11 antes','T11 después','T12 antes','T12 después')
		for r =30
			eval(['g=M.P',num2str(r),';'])
			x = g(:,1);
			y = g(:,2);
			z = g(:,3);
			subplot(222)
			set(groot,'defaultAxesColorOrder',[0 0 1;1 0 0],...
	'defaultAxesLineStyleOrder','-|-*')
			plot(x,z)
			legend ('T8 antes','T8 después','T9 antes', 'T9 después', 'T10 antes','T10 después','T11 antes','T11 después','T12 antes','T12 después')
 
			hold on
			for r =45
				eval(['g=M.P',num2str(r),';'])
				x = g(:,1);
				y = g(:,2);
				z = g(:,3);
				subplot(223)
				plot(x,z)
				legend ('T8 antes','T8 después','T9 antes', 'T9 después', 'T10 antes','T10 después','T11 antes','T11 después','T12 antes','T12 después')
 
				hold on
				for r =60
					eval(['g=M.P',num2str(r),';'])
					x = g(:,1);
					y = g(:,2);
					z = g(:,3);
					subplot(224)
					plot(x,z)
					legend ('T8 antes','T8 después','T9 antes', 'T9 después', 'T10 antes','T10 después','T11 antes','T11 después','T12 antes','T12 después')
					hold on
 
				end
			end
		end
	end
end
tamano=get(0,'ScreenSize');
figure('position',[tamano(1) tamano(2) tamano(3) tamano(4)]);
 
for i=[30,32,33,34,35,36,37,38,46,47];
	eval(['M=TOP_PROF.tp_',fechas(i,:),';'])
	for r =15
		eval(['g=M.P',num2str(r),';'])
		x = g(:,1);
		y = g(:,2);
		z = g(:,3);
		subplot(221)
		plot(x,z)
		hold on
		for r =30
			eval(['g=M.P',num2str(r),';'])
			x = g(:,1);
			y = g(:,2);
			z = g(:,3);
			subplot(222)
			plot(x,z)
			hold on
			for r =45
				eval(['g=M.P',num2str(r),';'])
				x = g(:,1);
				y = g(:,2);
				z = g(:,3);
				subplot(223)
				plot(x,z)
				hold on
				for r =60
					eval(['g=M.P',num2str(r),';'])
					x = g(:,1);
					y = g(:,2);
					z = g(:,3);
					subplot(224)
					plot(x,z)
					hold on
				end
			end
		end
	end
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Error en set

Publicado por Daniel (264 intervenciones) el 10/05/2016 21:06:37
La verdad que costó muchísimo entender que era lo que querías hacer y como lo implementaste (algunas cosas están bastante raras).

te paso las cosas escritas de una mejor manera (a mi entender) para que puedas seguir avanzando

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
clear all; close all; clc;
load TOP_PROF
 
fechas = ['28Nov12';'03Dic12';'11Dic12';'26Dic12';'09Ene13';'24Ene13';'07Feb13';'21Feb13';'07Mar13';'19Sep13';'03Oct13';'17Oct13';'03Nov13';'18Nov13';'05Dic13';'17Dic13';'30Ene14';'13Feb14';'24Feb14';'03Mar14';'11Mar14';'22Abr14';'06May14';'20May14';'17Jun14';'15Jul14';'12Ago14';'10Sep14';'08Oct14';'06Nov14'...
    ;'24Nov14';'04Dic14';'18Dic14';'07Ene15';'20Ene15';'17Feb15';'17Mar15';'04Jun15';'17Jun15';'16Jul15';'03Ago15';'01Sep15';'29Sep15';'26Oct15';'25Nov15';'09Dic15';'19Ene16';'05Feb16';'08Mar16'];
leyenda={'T8 antes','T8 después','T9 antes', 'T9 después', 'T10 antes','T10 después','T11 antes','T11 después','T12 antes','T12 después'};
 
tamano=get(0,'ScreenSize');
 
hh=figure(1);
set(hh,'position',tamano);
hh=figure(2);
set(hh,'position',tamano);
 
ValueArray = {'-b','-r','-*b','-*r','-.b','-.r','--b','--r'}';

vi=[16,17,19,20,21,22,23,29,30,32,33,34,35,36,37,38,46,47];
vr=[15 30 45 60];
for i=1:size(vi,2)
    eval(['M=TOP_PROF.tp_',fechas(i,:),';'])
    for r=1:size(vr,2)
        eval(['g=M.P',num2str(vr(r)),';'])
        x = g(:,1);
        y = g(:,2);
        z = g(:,3);
        if vi(i)<30
            figure(1)
            h1(r)=subplot(2,2,r);
            f1=plot(h1(r),x,z,ValueArray{rem(i-1,8)+1});hold on
        else
            figure(2)
            h2(r)=subplot(2,2,r);
            f2=plot(h2(r),x,z,ValueArray{rem(i-1,8)+1});hold on
        end
 
 
    end
end
for r=1:4
legend (h1(r),leyenda{1:8})
legend (h2(r),leyenda{1:10})
end

Comentanos como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar