首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言经典100例002-将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中

喜欢的同学记得点赞、转发、收藏哦~ 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即时查收 1 题目 编写函数fun() 函数功能:将M行N列的二维数组中的字符数据...,按列的顺序依次放到一个字符串中 例如: 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容是:WSHWSHWSH [image.png] 2 思路 第一层循环按照列数进行...,第二层循环按照行数 然后依次提出每一列的字符 3 代码 为了熟悉二维数组的指针表示,部分代码给出了数组表示和指针表示 #include #include #define...M 3 #define N 4 /** 编写函数fun() 函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中 例如: 二维数组中的数据为: W W W W S S S.../demo 二维数组中元素: M M M M S S S S H H H H 按列的顺序依次: MSHMSHMSHMSH -- END -- 喜欢本文的同学记得点赞、转发、收藏~ 更多内容,欢迎大家关注我们的公众号

6.1K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    向量的内积和叉积_点乘和叉乘的区别

    向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组; 向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量...点乘公式 对于向量a和向量b: a和b的点积公式为: 要求一维向量a和向量b的行列数相同。...,又叫向量积、外积、叉积,叉乘的运算结果是一个向量而不是一个标量。...在3D图像学中,叉乘的概念非常有用,可以通过两个向量的叉乘,生成第三个垂直于a,b的法向量,从而构建X、Y、Z坐标系。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.2K10

    知识点☀️Unity 知识点笔记

    Unity点乘与叉乘 传送门 Unity中两个Vector3变量相减代表什么意义 表示一个指向另外一个的向量. a点与b点相减,理解为以b为始点,a为终点的向量,方向由b指向a。...2D零向量表示为(0,0),3D零向量表示为(0,0,0)。 在Unity中,用Vector3.zero来表示3D零向量。...7、向量的点积 向量与向量的乘法有两种不同的形式,第一种是向量的点积,也叫做向量的内积。 表示为a·b,点不可以省略。 计算时,向量的点积就是对应分量乘积的和,结果为一个标量。...在Unity中,向量的点积可以通过Vector3.Dot来计算。 可以使用Vector3.Angle来获得两个向量之间的夹角的大小。结果在0度到180度之间。...8、向量的叉积 两个向量相乘的第二种方式为向量的叉积,也叫做向量的外积。 表示为a×b,同样,×也不可以省略。 叉积的结果仍是一个向量。 叉积仅可应用于3D向量。

    10910

    深度学习中的基础线代知识-初学者指南

    神经网络将权重存储在矩阵中。 线性代数使矩阵运算变得更加快捷简便,尤其是在 GPU 上进行训练的时候。 实际上, GPU 是以向量和矩阵运算为基础的。 比如,图像可以表示为像素数组。...向量乘法 向量乘法有两种类型:点积和 Hadamard乘积 。 点积 两个向量的点积是一个标量。 向量和矩阵的点积(矩阵乘法)是深度学习中最重要的操作之一。...简单地将标量应用于矩阵中的每个元素进行 加,减,乘,除等操作。 Matrix scalar addition 矩阵单元操作 为了对两个矩阵进行加,减或除法,它们必须具有相等的维度。...以下图为例(取自 Khan 学院的线性代数课程),矩阵 C 中的每个元素都是矩阵 A 中行与矩阵 B 中列的点积。...操作 a1 · b1 表示我们取矩阵 A 中 第一 行 ( 1,7 ) 和矩阵 B 中 第 1 列 ( 3,5 )的点积 。 这里是另一种方法: 为什么矩阵乘法以这种方式工作?

    1.5K60

    深度学习-数学基础

    在训练和测试过程中需要监控的指标(metric):如果是分类问题一般预测正确占总预测的比例 神经网络中的数学术语 张量 张量:数据的维度或者是数据的容器 标量:仅包含一个数字的张量叫作标量;切记是一个数字...,不是一维数组,也称为0D张量 向量:数字组成的数组叫作向量(vector)或一维张量(1D 张量) 矩阵:2维张量,也称为2D张量 3D张量:若干个2D张量组成3D张量 4D张量:若干个3D张量组成...点积运算 一般用.来表示,它和逐元素运算的不同在于点积运算在乘法之后还要进行加法运算,因此两个向量点积最终生成的是一个标量,而1个矩阵和1个向量点积,生成一个向量 张量变形 张量变形是指改变张量的行和列...此时的参数为初始化随机参数 计算y_pred 和y 之间的距离,衡量损失。 更新网络的所有权重,目标是使得目标函数损失减少。...descent,SGD),如果每次只抽取一个样本,叫作真SGD,如果每次迭代在所有数据上进行,那么叫作批量SGD 关于链式求导:反向传播算法(后续有时间深度学习) 在前面的梯度算法中,我们假设函数是可微的

    1.1K10

    深度学习:张量 介绍

    通过这个视图,就可以清楚如何在矩阵上执行点积。发生乘法的唯一方法是第一个矩阵中的行数与第二个矩阵中的列数匹配。...在上图中,很明显,左侧矩阵中的每个向量(或行)都乘以第二个矩阵中的每个向量(或列)。因此,在此示例中,A 中的每个向量必须与 B 中的每个向量相乘,从而产生 16 个点积。...嗯,如前所述,二维的点积主要是将向量彼此相乘。在三维中,重点是按矩阵相乘,然后对这些矩阵中的每个向量执行点积。 上图应该有助于解释这一点。将两个 3D 张量视为矩阵向量可能会有所帮助。...由于点积是通过按元素相乘然后求和来执行的,因此首先发生的事情是每个矩阵与其相应的矩阵相乘。当这种情况发生时,矩阵乘法会导致矩阵中的每个向量与其他向量执行点积。从某种意义上说,它就像一个嵌套的点积。...Hadamard 积的性能符合预期,并在 3D 张量的矩阵中按元素相乘。

    38920

    DeepSeek开源周 Day03:从DeepGEMM看大模型算力提速的矩阵乘法

    它代表通用矩阵到矩阵乘法,它本质上就是按照字面意思来做,将两个输入矩阵相乘得到一个输出矩阵。它与在 3D 图形世界中习惯的矩阵运算的区别在于,它处理的矩阵通常非常大 。...例如,典型网络中的单个层可能需要将 256 行、1,152 列的矩阵与 1,152 行、192 列的矩阵相乘,以产生 256 行、192 列的结果。...就上图而言,它看起来像这样: 有“k”个输入值,有“n”个神经元,每个神经元对每个输入值都有自己的一组学习权重。有“n”个输出值,每个神经元一个,通过对其权重和输入值进行点积计算得出。...输入图像和单个核如下所示: 每个核都是另一个三维数字数组,其深度与输入图像相同,但宽度和高度要小得多,通常为 7×7。为了产生结果,将核应用于输入图像上的点网格。...在应用核的每个点上,所有相应的输入值和权重都会相乘,然后相加以产生该点的单个输出值。

    13110

    机器学习中的线性代数:关于常用操作的新手指南

    GPU 是并行操作整个矩阵中的各个像素,而不是一个接一个地去处理单个像素。 向量 向量是关于数字或数据项的一维数组的表示。从几何学上看,向量将潜在变化的大小和方向存储到一个点。...向量乘法 向量乘法有两种:点积(Dot product) 和 Hadamard乘积(Hadamard product)。 点积 两个向量的点积是一个标量。...向量的点积和矩阵的乘法是深度学习中最重要的操作之一。...步骤 矩阵的乘法依赖于点积与各个行列元素的组合。 以下图为例(取自 Khan学院的线性代数课程),矩阵 C中的每个元素都是矩阵 A 中的行与矩阵B中的列的点积。...参考 操作 a1 · b1 意味着我们对矩阵A的第一行(1, 7) 和矩阵B 的第一列 (3, 5) 做点积运算.

    1.5K31

    一文搞懂 Transformer 工作原理 !!

    Softmax函数: 将缩放后的点积结果输入到softmax函数中,计算每个Key相对于Query的注意力权重。...工作原理:单头Attention通过计算每个token的查询向量与所有token的键向量的点积,并经过softmax归一化得到注意力权重,再将这些权重应用于值向量进行加权求和,从而生成每个token的自注意力输出表示...QK向量点积运算 将上述点积取softmax(得到0~1之间的值,即为Attention权重) 点积的结果需要经过一个softmax函数,确保所有token的注意力权重之和为1。...softmax函数将点积结果转换为0到1之间的值,这些值表示了每个token相对于其他所有token的注意力权重。...这个矩阵的每一行对应一个token,每一列也对应一个token,矩阵中的每个元素表示了对应行token对列token的注意力权重。

    2.5K21

    Transformer大模型3D可视化,GPT-3、Nano-GPT每一层清晰可见

    现在我们可以将这一系列数字输入到模型中:「2 1 0 1 1 2」 在3D视图中,每个绿色单元格表示一个正在处理的数字,每个蓝色单元格表示权重。...我们在聚合层中计算并存储这些值,因为我们要将它们应用于列中的所有值。 最后,在得到归一化值后,我们将列中的每个元素乘以学习权重 (γ),然后加上偏置 (β),最终得到归一化值。...每个输出单元都是输入向量的线性组合。例如,对于Q向量,这是用Q权重矩阵的一行和输入矩阵的一列之间的点积来完成的。...我们会经常看到的点乘运算非常简单:我们将第一个向量中的每个元素与第二个向量中的相应元素配对,将这对元素相乘,然后将结果相加。...我们首先计算当前列(t=5)的Q向量与之前各列的K向量之间的点积。然后将其存储在注意力矩阵的相应行(t=5)中。 这些点积是衡量两个向量相似度的一种方法。如果它们非常相似,点积就会很大。

    1.5K10

    基础渲染系列(一)图形学的基石——矩阵

    这意味着每次调用都会创建一个新数组,在本例中是每次Update。 替代版本具有列表参数。 这样做的好处是它将把组件放到列表中,而不是创建一个新的数组。...实际上,我们执行的乘法是 ? , 这是矩阵乘法。2 x 2矩阵的第一列表示X轴,第二列表示Y轴。 ? (用2D的矩阵定义X和Y轴) 通常,将两个矩阵相乘时,在第一个矩阵中逐行,在第二个矩阵中逐列。...3.2 3D旋转矩阵 到目前为止,我们有一个2 x 2矩阵,可用于绕Z轴旋转2D点。 但我们实际上使用的是3D点。所以我们尝试乘法 ? , 因为矩阵的行和列长度不匹配。...但其实我们可以这样做:首先将Z旋转应用于我们的点,然后将Y旋转应用于结果,然后将X旋转应用于该结果。 同样我们也可以将旋转矩阵彼此相乘。这将产生一个新的旋转矩阵,该矩阵将立即应用所有三个旋转。...但是,我们不会使用该方法,因为有一些有用的转换会改变底部的行。 5 投影矩阵 到目前为止,我们一直在将点从3D中的一个位置转换为3D空间中的另一个位置。但是这些点最终如何在2D显示器上绘制呢?

    5K23

    矩阵运算_逆矩阵的运算

    在3D计算中采用的是4元坐标系,因此在计算模型变换的时候采用的是4*4的方阵,矩阵结构中,元素编号按先行后列排列,在编程语言中可以用数组储存,使用循环计算,为便于坐标的批量处理,在绘制和计算一个三维模型前...,先计算好所要某种变换所需要的元素填写入矩阵,然后逐一将模型的所有顶点和矩阵相乘就可以将模型的所有顶点按所希望的变换为新的坐标(除非矩阵元素设置错误),这里可以看出,矩阵中的每个数据(元素)是至关重要的...下面表示一个矩阵数组的排列方式以及一个点或向量是如何与矩阵相乘以获得新坐标的计算公式的。...矩阵相乘的计算公式分解: 复合矩阵计算方式为,将左边的矩阵M的每个行元素与右边矩阵N的每列元素进行点乘运算就是新矩阵C的对应的元素。...计算顺序为,M由上边第一行开始,提取每行的4个元素,分别与N中左边第一列开始,提取的4个元素进行点乘运算,运算结果放在C中,并从上到下,从左到右排列,编程时采用双重循环。

    1.5K40

    台积电3D堆栈封装技术进入测试阶段,谷歌AMD或成为首批客户

    策划&撰写:小波点 据国外媒体报道,谷歌和AMD正在帮助台积电测试和验证3D堆栈封装技术,或将成为这一芯片封装技术的首批客户,这一技术预计在2022年开始大规模设产。...据悉,谷歌计划将此3D堆栈封装技术应用于公司的自动驾驶系统以及芯片方面;AMD则作为也让微处理器竞争对手,迫切希望利用最新的芯片封装技术抢占市场先机。...台积电的3D堆栈封装技术名为“SoIC(System on Integrated Chips)”,该方案能将处理器、存储器、传感器等不同类型的芯片,封装到一个实体中,能使芯片组体积更小、性能更强,能效也会有提高...2018 年 4 月,在美国加州圣克拉拉举行的第二十四届年度技术研讨会上,台积电首度对外界公布了这一技术方案,它的出现,迎合了“异构小芯片集成”的趋势,是该领域的关键技术之一。...从外媒的报道来看,谷歌和AMD帮助台积电测试和验证3D堆栈封装技术,是希望能尽快在他们的芯片中使用台积电的这一封装技术,改善自家产品的性能。

    41910

    以3D视角洞悉矩阵乘法,这就是AI思考的样子

    2a 点积 首先来看一个经典算法 —— 通过计算对应左侧行和右侧列的点积来计算每个结果元素。从这里的动画可以看到,相乘的值向量扫过立方体内部,每一次都在相应位置提交一个求和后的结果。...2b 矩阵 - 向量积 分解为矩阵 - 向量积的矩阵乘法看起来像一个垂直平面(左侧参数与右侧参数每一列的积),当它水平扫过立方体内部时,将列绘制到结果上: 观察一个分解的中间值可能很有意思,即使示例很简单...这里可视化了此类表达式中形状最简单的一个 (A @ B) @ (C @ D): 3d 一点注解:分区和并行性 完整阐述该主题超出了本文的范围,但后面我们会在注意力头部分看到它的实际效用。...下面是将这种分区方法应用于未分区的注意力层的样子: 下面则是应用于以 BPT 方式分区的层的情况: 6d 可视化一次一个 token 解码的过程 在自回归式的一次一个 token 的解码过程中,查询向量由单个...注意 L @ R 中的垂直和水平模式: 7b 将 LoRA 应用于注意力头 LoRA 将这种分解方法应用于微调过程的方式是: 为每个权重张量创建一个要进行微调的低秩分解,并训练其因子,同时保持原始权重冻结

    40240

    以3D视角洞悉矩阵乘法,这就是AI思考的样子

    2a 点积 首先来看一个经典算法 —— 通过计算对应左侧行和右侧列的点积来计算每个结果元素。从这里的动画可以看到,相乘的值向量扫过立方体内部,每一次都在相应位置提交一个求和后的结果。...2b 矩阵 - 向量积 分解为矩阵 - 向量积的矩阵乘法看起来像一个垂直平面(左侧参数与右侧参数每一列的积),当它水平扫过立方体内部时,将列绘制到结果上: 观察一个分解的中间值可能很有意思,即使示例很简单...这里可视化了此类表达式中形状最简单的一个 (A @ B) @ (C @ D): 3d 一点注解:分区和并行性 完整阐述该主题超出了本文的范围,但后面我们会在注意力头部分看到它的实际效用。...下面是将这种分区方法应用于未分区的注意力层的样子: 下面则是应用于以 BPT 方式分区的层的情况: 6d 可视化一次一个 token 解码的过程 在自回归式的一次一个 token 的解码过程中,查询向量由单个...注意 L @ R 中的垂直和水平模式: 7b 将 LoRA 应用于注意力头 LoRA 将这种分解方法应用于微调过程的方式是: 为每个权重张量创建一个要进行微调的低秩分解,并训练其因子,同时保持原始权重冻结

    41160

    探索3D视觉中的Transformer架构:通用Backbone与自适应采样策略 !

    考虑到2D和3D数据表示和处理的差异,将注意力特别关注应用于3D视觉应用的 Transformer 至关重要。因此,作者专注于应用于3D视觉领域的 Transformer 架构。...可以通过 Voxel 化过程从点云获得 Voxel 表示,该过程将所有 点的特征在 Voxel 内分组以供后续处理。3D Voxel 的结构化特性允许像2D方法一样处理此类信息,例如卷积。...Transformer模型[40]已被广泛应用于众多语言和视觉任务中。在Transformer中,缩放的点积注意力是关键,其旨在捕捉不同输入元素之间的依赖关系。...这是通过用自注意力学习的加权聚合函数替换手工设计的分区和池化来完成的,该自注意力应用于所有数据。...VISTA[93]提出用卷积算子替换常规注意力模块中的线性投影。它将所提出的注意力应用于将 Voxel 化的3D场景特征投影到两个视图,即鸟瞰图和范围视图。

    46210

    看图学NumPy:掌握n维数组基础知识点,看这一篇就够了

    大多数的数学函数都有NumPy对应项用于处理向量: ? 向量的点积、叉积也有运算符: ? 我们也可以进行三角函数、反三角函数、求斜边运算: ? 数组可以四舍五入为整数: ?...和一维数组一样,上图的view表示,切片数组实际上并未进行任何复制。修改数组后,更改也将反映在切片中。 axis参数 在许多操作(例如求和)中,我们需要告诉NumPy是否要跨行或跨列进行操作。...在第一部分中,我们已经看到向量乘积的运算,NumPy允许向量和矩阵之间,甚至两个向量之间进行元素的混合运算: ? 行向量与列向量 从上面的示例可以看出,在二维数组中,行向量和列向量被不同地对待。...在没有indexing=’ij’参数的情况下,meshgrid将更改参数的顺序:J, I= np.meshgrid(j, i)—这是一种“ xy”模式,用于可视化3D图。...pd.DataFrame(a).sort_values().to_numpy():通过从左向右所有列进行排序 高维数组运算 通过重排一维向量或转换嵌套的Python列表来创建3D数组时,索引的含义为(z

    6K20
    领券