Skip to content

Commit 23ec2c6

Browse files
committed
NEW
1 parent 9b0c19c commit 23ec2c6

File tree

25 files changed

+896
-50
lines changed

25 files changed

+896
-50
lines changed

src/pkg/MatPly_Dart/docs/API/Dart/constructor.md renamed to src/pkg/MatPly_Dart/doc/API/Dart/constructor.md

Lines changed: 55 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ class _MyHomePageState extends State<MyHomePage> {
330330

331331
### 从数据点拟合的概率密度函数效果如下
332332
> 经计算,均值为0.97,与规定的1.0大差不差
333-
![normal.png](src/normal.jpg)
333+
![normal.png](src/normal.png)
334334

335335
## 生成符合泊松分布数据
336336
```text
@@ -436,7 +436,7 @@ class _MyHomePageState extends State<MyHomePage> {
436436
```
437437

438438
### 效果如下
439-
![possion.png](src/possion.jpg)
439+
![possion.png](src/possion.png)
440440

441441
## 指向C语言生成矩阵对象指针
442442
```text
@@ -466,4 +466,56 @@ main() {
466466
717773056
467467
false
468468
*/
469-
```
469+
```
470+
471+
## 生成最小维度下对角线上全是1,其他全是0的仿单位矩阵
472+
```text
473+
MatrixType.E_like({required int row, required int column})
474+
```
475+
476+
### example
477+
```dart
478+
import 'matply.dart';
479+
480+
main(){
481+
MatrixType mt = MatrixType.E_like(row: 3, column: 5);
482+
mt.visible();
483+
}
484+
485+
/*output
486+
[
487+
[1.00000 0.00000 0.00000 0.00000 0.00000 ]
488+
[0.00000 1.00000 0.00000 0.00000 0.00000 ]
489+
[0.00000 0.00000 1.00000 0.00000 0.00000 ]
490+
]
491+
* */
492+
```
493+
494+
## 指定步长后,从start开始生成数据
495+
```text
496+
MatrixType.range({
497+
required double start,
498+
double step = 1.0,
499+
required int row,
500+
required int column
501+
})
502+
```
503+
504+
### example
505+
```dart
506+
import 'matply.dart';
507+
508+
main(){
509+
MatrixType mt = MatrixType.range(row: 3, column: 5, start: 2.5, step: 0.5);
510+
mt.visible();
511+
}
512+
513+
/*output
514+
[
515+
[2.50000 3.00000 3.50000 4.00000 4.50000 ]
516+
[5.00000 5.50000 6.00000 6.50000 7.00000 ]
517+
[7.50000 8.00000 8.50000 9.00000 9.50000 ]
518+
]
519+
* */
520+
```
521+

src/pkg/MatPly_Dart/docs/API/Dart/global_methods.md renamed to src/pkg/MatPly_Dart/doc/API/Dart/global_methods.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
## initMp[new from V1.0.2]
1919
在打算创建矩阵实例之前,可以通过无参数传入声明这是一个开端,此处毫无作用,仅仅为了规范;如果创建了第一个矩阵实例,则可以选择性传入这个矩阵的self值,此值将作为链表的头结点
20-
> 关于Mp的实现,它的底层是一个简单的链表结构,同时记录存储了多少个Pointer<Pointer<Matrix>>?(因为创建失败返回空指针的也算)。凡涉及到__new__方法的创建,都会触发Signal信号,添加节点到Mp
20+
> 关于Mp的实现,它的底层是一个简单的链表结构,同时记录存储了多少个`Pointer<Pointer<Matrix>>?`(因为创建失败返回空指针的也算)。凡涉及到__new__方法的创建,都会触发Signal信号,添加节点到Mp
2121
2222
## Signal[new from V1.0.2]
2323
手动添加新节点,不建议在开发中使用
@@ -27,4 +27,3 @@
2727

2828
## freeMp[new from V1.0.2]
2929
统一释放内存,防止内存泄漏
30-

src/pkg/MatPly_Dart/docs/API/Dart/methods.md renamed to src/pkg/MatPly_Dart/doc/API/Dart/methods.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,3 +149,79 @@ L0范数
149149
## mode[new from V1.0.2]
150150
求解众数(此方法没有基于C-API)
151151

152+
## argmax[new from V1.0.5]
153+
获取最大值索引
154+
155+
## argmin[new from V1.0.5]
156+
获取最小值索引
157+
158+
## flatten[new from V1.0.5]
159+
返回一个1 * size的扁平化矩阵,mode参数决定了从横向开始还是纵向
160+
161+
## flatten_list[new from V1.0.5]
162+
返回一个扁平化后的一维列表
163+
164+
## replace[new from V1.0.5]
165+
获取替换不符合条件的值后的矩阵
166+
167+
## replace_no_returned[new from V1.0.5]
168+
替换矩阵不符合条件的值
169+
170+
## normalization[new from V1.0.5]
171+
获取归一化后的矩阵,0、1、其他值分别对应线性归一化、均值归一化、z-score归一化
172+
173+
## slice[new from V1.0.5]
174+
获取矩阵切片切出的矩阵,如果不指定切到哪,则切至终点行(列)
175+
176+
## clip[new from V1.0.5]
177+
获取一个框住范围的矩阵,矩阵数据满足lb <= x <= ub,小于则变成lb,大于变成ub
178+
179+
## clip_no_returned[new from V1.0.5]
180+
框住矩阵本身范围
181+
182+
## all[new from V1.0.5]
183+
矩阵所有值全满足条件返回true,反之
184+
185+
## any[new from V1.0.5]
186+
矩阵任意值满足条件返回true,反之
187+
188+
## counter[new from V1.0.5]
189+
对矩阵中满足条件的值计数
190+
191+
## reduce[new from V1.0.5]
192+
对矩阵相邻的两个值累计操作
193+
194+
## where[new from V1.0.5]
195+
[condition] 是必须传入的条件函数,也同时添加另一个约束 [any],但这时候 [obj] 不能为空。只操作满足条件的值
196+
若不传入 [cpl] 参数,则默认返回满足条件的值到一个一维列表;否则,则按照cpl函数更新的值与未满足条件的值一起写入原来矩阵,返回一个矩阵对象
197+
198+
## qr[new from V1.0.5]
199+
获取矩阵QR分解得到的两个矩阵组成的列表
200+
201+
## Hist[new from V1.0.5]
202+
获取未可视化、统计出来的值计数
203+
204+
## Bar[new from V1.0.5]
205+
获取未可视化、根据条件约束分类并且符合生成标签的值计数
206+
207+
## magic[new from V1.0.5] **_!!!_**
208+
[@alert]高自由度地使用抽象出来的方式来自定义抽象地反射矩阵数据
209+
210+
## customize[new from V1.0.6]
211+
相较于矩阵多次创建对象的运算方式,customize可以根据运算流程创建一个矩阵对象
212+
213+
## clip_reverse[new from V1.0.6]
214+
在范围外的数据不发生变化,否则按照条件设置值
215+
216+
## clip_reverse_no_returned[new from V1.0.6]
217+
clip_reverse的无返回值方式
218+
219+
## findIndexs[new from V1.0.6]
220+
查询所有符合条件值的索引,每行都查询,其中prediction是预测平均每行有多少符合条件的值,不传入则设置为行长度的四分之一取整。返回值是包含匹配值索引的二维列表,元素可谓空值一维列表
221+
222+
## rotate[new from V1.0.6]
223+
获取矩阵的旋转矩阵,旋转角度必须是90的整数倍,负值表示逆时针,正值表示顺时针
224+
225+
## mirror[new from V1.0.6]
226+
获取矩阵的镜像,mode == 0表示横向镜像、其他值表示总线镜像
227+

src/pkg/MatPly_Dart/docs/API/Dart/operators.md renamed to src/pkg/MatPly_Dart/doc/API/Dart/operators.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,14 @@
99
6. `>>`操作一个由两个整数构成的列表,表示获取新形状的矩阵
1010
7. `<<`操作一个由两个整数构成的列表,对矩阵本身调整形状
1111
8. `==`判断两个矩阵是不是具有相同的特殊属性、形状、数据
12-
9. `>`|`<`|`>=`|`<=`比较两个相同形状的矩阵对应位置上的数据大小,并返回同形状的List<List<bool>>;如果比较是否相等,请调用**compare方法并指定mode为0**
12+
9. `>`|`<`|`>=`|`<=`比较两个相同形状的矩阵对应位置上的数据大小,并返回同形状的List<List<bool>>;如果比较是否相等,请调用**compare方法并指定mode为0**
13+
14+
## `[]`[new from V1.0.6]
15+
支持了多种索引模式,可以更灵活的取数据了
16+
- 传入一个整数:获取某行
17+
- 传入(int, ):获取从某行开始矩阵,相当于调用slice方法,to设置为null
18+
- 传入(int, int?):获取从某行开始矩阵,相当于调用slice方法,如果第二个整数为null,to设置为null
19+
- 传入[int, int],获取位置上的数据
20+
21+
## `-`[new from V1.0.6]
22+
添加了一元负号运算符,允许一个实例obj的`-obj`的取反声明

0 commit comments

Comments
 (0)