浅谈多维模型

[b]1.两种数据结构[/b]
Normalize(规范化数据)&De-normalize(反规范化数据)

De-normalize特点:多表数据整合为一,信息综合

数据冗余,占物理空间

直接表单查询,速度快

以'空间'换取'时间'

Normalize:多表多数据查询性能差;表间物理存储独立,关联查询

[b]2.多维模型[/b]

多维数据模型
优点:多维数据模型最大的优点就是其基于分析优化的数据组织和存储模式。
缺点:多维模型的缺点就是与关系模型相比其灵活性不够,一旦模型构建就很难进行更改。因此在建立多维模型前,一般会根据需求首先详细的设计模型,确定好包含哪些维和度量,以及数据保持在哪个粒度上才能满足用户的分析需求。

星型模型-----事实表居中,多个维表呈辐射状分布四周通过主键和外键与事实表相连。是反规范化的,有数据冗余,查询时不需要外部连接,速度快维护简单。反规范化设计其实就是第三范式3NF(或2NF)到多维(ROLAP)模型的设计过程。

雪花模型-----事实表跟维表的关联不止一层,对星型模式维表进一步层次化。介于第三范式和星型模式之间的一种设计模式。规范化的,数据冗余少,一定程度上减少了存储空间,却降低了查询性能。

[img]http://dl.iteye.com/upload/attachment/0064/9036/b77d797b-2ae7-301d-ad25-11cc602d2746.jpg[/img]

实际应用中,常将两种模型混合使用。不过很多情况下牺牲空间换取时间从而提高性能。

多维数据模型作为一种新的逻辑模型赋予了数据新的组织和存储形式,而真正体现其在分析上的优势还需要基于模型的有效的操作和处理,也就是OLAP(On-line Analytical Processing,联机分析处理)。

OLAP类型:
MOLAP(Multidimensional)
--基于多维数组的存储模型,也是最原始的OLAP,但需要对数据进行预处理才能形成多维结构。

ROLAP(Relational)
--比较常见的OLAP类型,完全基于关系模型进行存放,只是它根据分析的需要对模型的结构和组织形式进行的优化,更利于OLAP。

扩展:[url]http://webdataanalysis.net/web-data-warehouse/data-cube-and-olap/[/url]
<think>嗯,用户想了解如何在MATLAB中创建和处理多维模型。首先,我需要回忆一下MATLAB中相关的工具箱和函数。模糊建模的话,可能涉及到Fuzzy Logic Toolbox,多维模型可能涉及多维数组或者多维系统建模。用户提到的参考引用里提到了模糊建模、灰色氧化识别和控制设计,可能需要涵盖这些方面。 首先,创建多维模糊模型应该需要使用FIS(模糊推理系统)结构,可能包括多输入变量,每个变量有多个隶属函数。需要提到如何用Fuzzy Logic Designer或命令行来设置。然后,处理多维数据可能需要使用多维数组,MATLAB中的矩阵操作和函数,比如reshape、permute等。 接下来,灰色氧化识别可能涉及系统参数估计,可能需要System Identification Toolbox,使用greyest函数或者其他估计方法。控制设计的话,可能用Control System Toolbox,设计控制器并结合模型进行仿真,Simulink部分可能需要提到如何搭建模型。 用户可能还需要知道具体的步骤,比如从创建到仿真,如何处理多维数据输入输出。示例代码可能会有帮助,比如创建模糊系统、定义变量、添加隶属函数,还有系统辨识的例子。需要注意将行内公式用$符号,独立公式用$$,并检查LaTeX语法正确。 可能的相关问题包括多维模型优化、与其他工具集成、常见错误处理等。还要确保引用文献标记正确,参考引用中的[^1]需要对应到用户提供的引用内容。需要分步骤说明,结构清晰,让用户能够一步步跟随操作。最后生成的问题要相关,帮助用户深入理解。</think>在MATLAB中创建与处理多维模型通常涉及模糊逻辑、系统辨识和控制设计,以下是分步说明: --- ### 一、多维模糊建模 1. **定义多维输入变量** 使用Fuzzy Logic Toolbox创建模糊推理系统(FIS): ```matlab fis = mamfis('Name','multi_dim_model'); fis = addInput(fis, [0 10], 'Name', 'input1'); % 第1维度 fis = addInput(fis, [-5 5], 'Name', 'input2'); % 第2维度 ``` 通过$n$个输入变量构建多维模型,隶属函数数量决定模型复杂度[^1]。 2. **添加多维隶属函数** 对每个输入定义高斯/三角隶属函数: ```matlab fis = addMF(fis, 'input1', 'gaussmf', [2 5], 'Name', 'Low'); fis = addMF(fis, 'input2', 'trimf', [-5 0 5], 'Name', 'Medium'); ``` 3. **规则库与输出曲面生成** 使用`ruleedit`图形界面或代码定义规则,并通过`gensurf(fis)`可视化多维输入-输出关系。 --- ### 二、多维模型处理 1. **数据预处理** 将高维数据转换为MATLAB多维数组: ```matlab data = rand(100,3,5); % 3维数据(样本×特征×时间步) reshaped_data = permute(data, [3,1,2]); % 维度重排 ``` 2. **系统辨识与参数估计** 使用System Identification Toolbox中的`greyest`进行灰色氧化识别: ```matlab load iddata7; % 示例数据 sys = greyest(z7, 2); % 估计二阶系统参数 ``` 3. **控制设计集成** 将模型导入Simulink,通过PID Tuner或LQR设计控制器: ```matlab model = 'control_system'; open_system(model); linmod(model); % 线性化多维系统 ``` --- ### 三、关键公式与仿真 - 多维模糊推理输出计算: $$y = \frac{\sum_{i=1}^n w_i \cdot z_i}{\sum_{i=1}^n w_i}$$ 其中$w_i$为规则权重,$z_i$为输出值。 - 使用`fis = evalfis(fis, inputData);`执行仿真。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值