Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

uint8, uint16, uint32 -- целые 8-, 16-, 32-битные целые чисел без знака
int8, int16, int32 -- целые 8-, 16-, 32-битные целые знаковые чисела
single -- вещественные чисела обычной точности (32-битные)
double -- вещественные чисела двойной точности (64-битные)
sparse -- разреженный тип, о нём ниже
char -- строка (до 65535 символов)
logical -- булёва переменная
function_handle -- дескриптор экземпляра объекта (он же хэндл)
struct -- структура (полный аналог паскалевого record)
cell -- массивы объектов любых типов
+ доступны классы и массивы Явы + многие классы maple + есть свой оператор class() для создания собственных классов объектов любой сложности.
 
По умолчанию для всех чисел используется тип double, даже для целых и даже для счётчиков циклов . Для символических значений (NaN, Inf, т.п.) используется char.  
 
uint*, int*, single, double, char, logical, function_handle - ВСЕГДА считаются матрицами с минимум 2-мя измерениями. (uint*, int*, single, double при этом - ещё и с комплексными компонентами, поэтому занимаемый в памяти размер в 2 раза больше ожидаемого -- 1 число double занимает 16 байт, а не 8; и т.д.)
 
Вектора из N элементов считаются ДВУМЕРНЫМИ матрицами размером 1xN или Nx1 -- матлаб различает вектора-строки и вектора-столбцы и по-разному с ними работает. Пример:
Код:
 
a=[1 2 3] % вектор-строка
b=[4;5;6] % вектор-столбец
c=a*b % "скалярное" произведение a и b
d=b*a % "прямое" произведение: матрица 3х3 c(i,j)=b(i)*a(j)
 

Скаляр считается двумерной матрицей 1х1
 
Размерность матриц и размер по каждому измерению не ограничены. Есть только ограничение на макс. кол-во элементов матрицы, оно зависит от объёма оперативки и вычисляется так:
[maxsize,maxsize] = computer % в maxsize возвращается макс. кол-во элементов матрицы типа double
 
sparse -- аналогичен double, с 2-мя оговорками:
1) может быть только двумерным (в т.ч. скаляром и вектором)
2) реально в памяти храняться только НЕнулевые компоненты и их индексы (double хранит всё как есть) - иногда полезно для экономии памяти.

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 02:23 08-04-2012 | Исправлено: dimitriy7, 03:12 08-04-2012
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru