Программирование - это просто
Advertisement
Главная arrow Разное arrow Хитрости и секреты arrow Scilab для чайников. arrow Scilab для чайников. Урок 5. Графики. Продолжение.
18.12.2018 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Scilab для чайников. Урок 5. Графики. Продолжение. Печать E-mail
Автор megabax   
24.07.2018 г.
New Page 1

Scilab для чайников. Урок 5. Графики. Продолжение.

Проложим изучать средства построения графиков. Сегодня мы научимся редактировать графики. Для начала рассмотрим пример:

[x,y]=meshgrid(-3:0.25:3);
z=x.^2+y.^2;
mesh(x,y,z);
xset('window',1);
a=gca();
a.grid=[1 2 -1];
a.labels_font_size=3;
a.x_label.text='x';
a.x_label.font_size=4;
a.y_label.text='y';
a.y_label.font_size=4;
a.z_label.text='z';
a.z_label.font_size=4;
a.title.text="z=x^2+y^2";
mesh(x,y,z);
a.isoview="on";

В данном примере сначала создается графическое окно с графиком, затем командой xset перенаправляем вывод в новое графическое окно. Командой gca получаем дескриптор этого окна. И у него уже задаем свойства, например, свойство frid - это координатная сетка, мы ее задаем тремя числами. Далее, задаем размер шрифта и надписи. И у нас получается два графика, то, что задан по умолчанию и с отредактированными свойствами:

Scilab для чайников. Урок 5. Графики. Продолжение.

Теперь вернемся к функции plot3d. Рассмотрим пример, рисующий две поверхности:

t=[0:0.3:2*%pi]';
z=sin(t)*cos(t');
[xx,yy,zz]=genfac3d(t,t,z);
plot3d([xx xx],[yy yy],list([zz zz+4],[4*ones(1,400) 5*ones(1,400)]))

Вот результат его работы:

Scilab для чайников. Урок 5. Графики. Продолжение.

В данном случае, у нас также координаты каждой поверхности задаются векторами. Отдельный вектор для x, Отдельный для y и отдельный для z. Функция genfac3d создает трехмерную поверхность для того, чтобы она в дальнейшем могла быть выведена в график функцией plot3d. В качестве третьего аргумента функции plot3d - цвета поверхностей, тоже в виде вектора. Причем, цвета задаются именно векторами. Таким образом, можно задать цвет для каждой клетки поверхности. Пример:

t=[0:0.3:2*%pi]';
z=sin(t)*cos(t');
[xx,yy,zz]=genfac3d(t,t,z);
colors=ones(1,400);
d=1;
for i=1:1:400
    colors(i)=d
    if(d==15) then
        d=1;
    else
        d=d+1;
    end
end
plot3d([xx xx],[yy yy],list([zz zz+4],[4*ones(1,400) colors]));

Данный пример выдаст такой вот разноцветный график:

Scilab для чайников. Урок 5. Графики. Продолжение.

Еще несколько примеров. Рисование "скал":

plot3d(1:10,1:20,10*rand(10,20),alpha=35,theta=45,flag=[2,2,3])

Scilab для чайников. Урок 5. Графики. Продолжение.

Шар:

f=gcf();
f.color_map = hotcolormap(128);
r=0.3;orig=[1.5 0 0];
deff("[x,y,z]=sph(alp,tet)",["x=r*cos(alp).*cos(tet)+orig(1)*ones(tet)";..
     "y=r*cos(alp).*sin(tet)+orig(2)*ones(tet)";..
     "z=r*sin(alp)+orig(3)*ones(tet)"]);
[xx,yy,zz]=eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,20));
[xx1,yy1,zz1]=eval3dp(sph,linspace(-%pi/2,%pi/2,40),linspace(0,%pi*2,20));
cc=(xx+zz+2)*32;cc1=(xx1-orig(1)+zz1/r+2)*32;
clf();plot3d1([xx xx1],[yy yy1],list([zz,zz1],[cc cc1]),theta=70,alpha=80,flag=[5,6,3])

Scilab для чайников. Урок 5. Графики. Продолжение.

Последнее обновление ( 24.07.2018 г. )
 
« След.   Пред. »
 
© 2018 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше